【发布时间】:2016-10-02 17:27:58
【问题描述】:
有人可以帮我解决我在这里做错了什么,一直在挠头。我对 perl 了解不多,只是对 irssi 脚本进行了一些小改动。
$selectedname = <STDIN>; $Nameslist = `grep -i -w '$selectedname'~/file`;
它工作正常我遇到的问题是变量似乎没有正确插入。例如,如果我在命令行中使用单词 test 键入相同的命令,我会显示 3 行。但是,如果我在这个脚本中使用相同的词,它就会变成空的。
我知道它工作正常,因为我可以将 * 作为输入,它会显示整个文件。它只是不适用于输入的字符串。
任何帮助将不胜感激,这真的让我很难过。
【问题讨论】:
-
STDIN 中的行后跟换行符,您可以使用 chomp 函数将它们删除:
perldoc -f chomp -
效果很好,谢谢。
-
既然在变量周围使用了单引号,难道不应该对变量进行插值吗?
标签: perl