Qualcuno può aiutarmi per favore con quello che sto facendo male qui, mi ha graffiato la testa per un po '. Non conosco molto perl solo facendo una piccola modifica a uno script irssi.Perl input utente per comando unix
$selectedname = <STDIN>; $Nameslist = `grep -i -w '$selectedname'~/file`;
che funzioni correttamente il problema che sto avendo è sembra che la variabile non viene inserita correttamente. Per esempio se scrivo lo stesso comando usando la parola test nella linea di comando ottengo 3 linee che appaiono. Ma se uso la stessa parola con questo script, risulta vuoto.
So che funziona correttamente perché posso fare * come input e mi mostrerà l'intero file. Non funziona solo con le stringhe inserite.
Qualsiasi aiuto sarebbe molto apprezzato, questo mi ha davvero bloccato.
Righi da STDIN sono seguiti da ritorni a capo, è possibile togliere utilizzando la funzione chomp: [ 'chomp -f perldoc '] (http://perldoc.perl.org/functions/chomp.html) –
Questo è stato perfetto, grazie. – BloodLines
Poiché le virgolette singole vengono utilizzate attorno alla variabile, la variabile non deve essere interpolata? – SilentMonk