Kann mir bitte jemand helfen, was ich hier falsch mache, mir ein bisschen am Kopf kratzt. Ich weiß nicht viel Perl, nur eine kleine Änderung an einem Skript zu machen.Perl-Benutzereingabe für Unix-Befehl
$selectedname = <STDIN>; $Nameslist = `grep -i -w '$selectedname'~/file`;
Es ordnungsgemäß funktioniert das Problem, das ich habe, ist, es sieht aus wie die Variable nicht korrekt eingesetzt wird. Zum Beispiel, wenn ich denselben Befehl mit dem Wort test in der Befehlszeile eintippe, bekomme ich 3 Zeilen, die angezeigt werden. Aber wenn ich dasselbe Wort mit diesem Skript verwende, kommt es leer.
Ich weiß, dass es richtig funktioniert, weil ich * als Eingabe tun kann und es mir die ganze Datei zeigen wird. Es funktioniert einfach nicht mit den eingegebenen Strings.
Jede Hilfe wäre sehr geschätzt, das hat mich wirklich gestampft.
Lines von STDIN werden, gefolgt von Zeilenumbrüchen, können Sie sie mit der chomp Funktion abzustreifen '] (http://perldoc.perl.org/functions/chomp.html) –
Das funktioniert perfekt, danke. – BloodLines
Da einfache Anführungszeichen um die Variable herum verwendet werden, sollte die Variable nicht interpoliert werden? – SilentMonk