Thread Text-Filter: Scriptproblem
(6 answers)
Opened by Taulmarill at 2006-01-26 14:36 Code: (dl
)
m/$key_word/i kann probleme bereiten, wenn in $key_word irgendwelche regex-sonderzeichen vorkommen, z.B. Code: (dl
)
$key_word = "(abc"; ergibt einen fehler. deshalb $key_word immer quoten Code: (dl
)
m/\Q$key_word\E/ Code: (dl
)
my ($name, $value) = split(/=/, $pair); kann problematisch sein, weil z.B. bei abc=def=3da das 3da einfach verschuett geht. ein wenig sicherer ist: Code: (dl
)
my ($name, $value) = split(/=/, $pair, 2); # teile nur in 2 teile auf dann waere $value = "def=3da" und man kann zumindest ueberpruefen, ob in $value ein = vorkommt (falls das = kein gueltiges zeichen von $value ist) Code: (dl
)
my $FORM{my $name} = $value; hat mehrere probleme: 1. my $FORM{$name} geht nicht; wenn du einen hash deklarieren willst: du kannst nicht einen teil eines hashes mit my deklarieren (das wuerde nur eventuell mit local funktionieren, aber das willst du nicht) 2. Code: (dl
)
$FORM{my $name} = $value; my $name hat noch keinen wert, weil es eben erst deklariert wurde. es ist also gleichbedeutend mit Code: (dl
)
$FORM{undef} = $value; undef ist zwar ein gueltiger Wert fuer einen hashschluessel, aber den willst du wohl nicht haben. my deklariert eine voellig neue variable; du willst jedoch das schon vorhandene $name haben, also kein my, sondern eher sowas wie: ich glaube, meine "Einfuehrung in Perl" von meiner HP unter Vortraege wuerde dir nicht schaden...\n\n <!--EDIT|Strat|1138290931--> perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |