use strict;
my $str = '//************* Russel **************
//++++++++++++ App.jsx ++++++++++++++
import React from "react";
import { DragonList } from "./DragonList";
import dragons from \'./dragons\';
export default function App() {7
const [minAge, setMinAge] = React.useState(17);
const [type, setType] = React.useState(\'All\');
console.log(dragons);
return (
<div>
<h1>The Dragons:</h1>
<DragonList dragons={dragons} minAge={minAge} type={type}/>
<span>Minimum Age: {minAge}</span>
<button type="button" onClick={ () => setMinAge(age => age - 1) }>
Show younger dragons
</button>
<button type="button" onClick={ () => setMinAge(age => age + 1) }>
Show older dragons
</button>
<button type="button" onClick={ () => setType(\'All\') }>
Show all dragons
</button>
<button type="button" onClick={ () => setType(\'Fire\') }>
Show fire dragons
</button>
</div>
)
}
//++++++++++++++ Main.jsx ++++++++++++++++++
import { StrictMode } from \'react\'
import { createRoot } from \'react-dom/client\'
import \'./index.css\'
import GiggnGoggn from \'./App.jsx\'
createRoot(document.getElementById(\'root\')).render(
<StrictMode>
<GiggnGoggn />
</StrictMode>,
)
//++++++++++++++ dragon.js++++++++++++++
export default dragons = [
{
name: "Skril",
type: "Lightning",
age: 16,
},
{
name: "Nightmare",
type: "Fire",
age: 22,
},
{
name: "Deadly Nadder",
type: "Magnesium",
age: 16,
},
{
name:"Night Fury",
type: "Plasma",
age: 18,
},
];
//++++++++++++++++++++++ DragonList.jsx+++++++++++++++++++
import { Dragon } from "./Dragon";
export function DragonList({dragons, minAge, type}) {
const filteredDragons = dragons.filter(
dragon => (dragon.age >= minAge) && (type === \'All\' ? true : dragon.type === type)
);
console.log(\'filteredDragons\', {filteredDragons});
return (
<div>
{filteredDragons.map((dragon, index) => <Dragon key={index} {...dragon} /> )}
</div>
);
}
//++++++++++++++++++ dragon.jsx +++++++++++++++++++++++++
export function Dragon({ name, type, age }) {
return (
<div>
<h2>{name}</h2>
<p>Type: {type}</p>
<p>Age: {age} years</p>
</div>
);
}
';
my $regex = qr/Zweckfreibaum/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html