有人可以帮助我解决我在这里做错了什么,一直在摸不着头脑。我只是对irssi脚本做了一些小改动,我不太了解perl。
$selectedname = <STDIN>; $Nameslist = `grep -i -w '$selectedname'~/file`;
它正常工作我遇到的问题是看起来变量未正确插入。例如,如果我在命令行中使用单词test键入相同的命令,则会显示3行。但是,如果我在这个脚本中使用相同的单词,那么它就会变空。
我知道它工作正常,因为我可以做*作为输入,它会显示整个文件。它只是不使用输入的字符串。
任何帮助都会非常感激,这真的让我很难过。
答案 0 :(得分:1)
实际上当你使用<STDIN>
时,会出现一个新的行字符。所以你需要删除换行符。您可以使用 chomp 删除换行符
<强>代码:强>
$selectedname = <STDIN>;
chomp($selectedname);
$Nameslist = `grep -i -w '$selectedname'~/file`;