my $quant = 'gi';
my $res = $str =~ /expr/$quant;
Jeg har fors�gt med diverse krumspring uden held, og er helst fri for
eval().
Kan det lade sig g�re? :-)
> Jeg har behov for at have f.eks. case insensitive match parametret i en
> variabel.
>
> my $quant = 'gi';
> my $res = $str =~ /expr/$quant;
> Kan det lade sig gᅵre? :-)
Ja. Du kan gᅵre det med (?imsx-imsx:pattern) konstruktionen, hvor
bogstaver mellem ? og : opfattes som flag.
//Makholm
Den forst�r jeg ikke!
Og kan slet ikke f� det til at fungere :-)
my $str = 'abc';
my $res = $str =~ /ABC/(?i:);
Hvad er den korrekte syntaks?
(Og hvad hedder konceptet?)
>> Ja. Du kan gᅵre det med (?imsx-imsx:pattern) konstruktionen, hvor
>> bogstaver mellem ? og : opfattes som flag.
>
> Den forstᅵr jeg ikke!
> Hvad er den korrekte syntaks?
Det skal indgᅵ som en del af dit regulᅵre udtryk, hvor den del som
flaget skal virke pᅵ er 'pattern'. Det er beskrevet i 'perldoc perlre'
som tredje mulighed under overskriften 'Extended Patterns'. Kaldes
normalt for 'non-capturing parentheses'
Nᅵr jeg nu lᅵser dokumentationen, sᅵ virker det mere indlysende at
bruge muligheden for 'embedded pattern-match modifiers' beskrevet lige
fᅵr. Der er ogsᅵ nᅵsten et skeempel der er tᅵt pᅵ hvad du
efterspᅵrger.
//Makholm
Perfekt!
Tak for suver�n hj�lp :-)