Thread regex phänomen: regex in gewissen konstellationen (1 answers)
Opened by Gast at 2007-03-06 09:27

Gast Gast
 2007-03-06 09:27
#74798 #74798
Hallo Leute,
hier mal ne Frage um die internals in perl...
also hab folgendes snippet
Code: (dl )
1
2
3
4
5
6
foreach (@ini) {
chomp($_);
$i++ if $_ =~ m/path/ig;
(undef,$startwith) = split("=", $_) if $_ =~ m/StartWithLastProfile/ig;
(undef,$profil) = split("=", $_) if $_ =~ m/path/ig;
}

so im endeffekt geh ich eine ini datei durch und suche halt nach pfad angaben und etwas anderen. gleichzeitig lasse ich mir hochzählen wieviele pfadangaben vorhanden sind. in dieser version klappt es.
wenn ich es allerdings so schreibe:
Code: (dl )
1
2
3
4
5
6
foreach (@ini) {
chomp($_);
(undef,$startwith) = split("=", $_) if $_ =~ m/StartWithLastProfile/ig;
(undef,$profil) = split("=", $_) if $_ =~ m/path/ig;
$i++ if $_ =~ m/path/ig;
}

bleibt $i 0 ??? kann mir jemand erklären woran das liegt?? hab schon gesucht aber nix gefunden den selbst die $& variable in der die gefundenen regex inhalte stehen zeigt mir an das es da etwas findet.
genau das selbe problem habe ich bei solchen ausdrücken:
Code: (dl )
my $server = $ARGV[0] =~ m/Firefox/ig ? "K:\\persönlich\\mozilla\\firefox" : "K:\\persönlich\\mozilla\\thunderbird";

wenn ich jetzt danach das selbe wieder mit der variable server mache:
Code: (dl )
my $smth = $server =~ m/Firefox/ig ? "K:\\persönlich\\mozilla\\firefox" : "K:\\persönlich\\mozilla\\thunderbird";

funktioniert das sobald ich diese aber ein 2tes mal mache also zb:
Code: (dl )
my $other = $server =~ m/Firefox/ig ? "K:\\persönlich\\mozilla\\firefox" : "K:\\persönlich\\mozilla\\thunderbird";

kommt immer der pfad für thunderbird auch wenn eig. firefox in $server steht??

womit hängt das zusammen??

danke und mfg
maddin

View full thread regex phänomen: regex in gewissen konstellationen