Thread grep inputfile geht nicht mit übergebener Variablen
(3 answers)
Opened by allapow at 2008-06-01 14:06
Ich melde hiermit Zweifel an der Sinnhaftigkeit folgenden Konstrukts an:
Wth, nicht nur, dass man filehandles eigentlich nicht in Listenkontext verwenden soll, hier wird erst Zeilenweise in der while-Schleife über "INPUTFILE" iteriert (erste Zeile) und dann der Rest durch den grep-Aufruf "geslurpt". (? Bin mir nicht völlig sicher, sollte aber ungefähr hinkommen.) Außerdem arbeitet grep nicht nur mit Listen, sondern returned auch eine. Werden also zwei Einträge gefunden, wird eine 2-elementige-Liste returned, in skalarem Kontext also 2. Deswegen solltest du vielleicht $a nicht direkt auf Gleichheit mit 1 überprüfen... (Und überhaupt, abgesehen davon, dass "$a" und "$b" normalerweise für die sort-Funktion in perl reserviert sind, sinds auch verdammt schlechte Variablennamen...) Was der Threadersteller will klingt eigentlich sehr einfach: Code: (dl
)
1 use strict; Wenn man Variablen als Regexes verwenden will kann/sollte man übrigens den qr (quoted regex) Operator benutzen: Code: (dl
)
my $regex = qr/bla*bl[u0o]{0,5}b/; Oder so.. Ansonsten @"Wo gibts Hilfe?": Hier werden sie geholfen! (Sollte auch als manpages offline verfügbar sein, aber manche mögen html halt lieber.. (Auch die htmls und pdfs kann man sich btw für offline Betrachtung downloaden.)) |