在Perl中,你可以得到与模式匹配的文件列表:如何在Perl中将变量的值用作glob模式?
my @list = <*.txt>;
print "@list";
现在,我想传递的图案作为一个变量(因为它传递给函数)。但是这不起作用:
sub ProcessFiles {
my ($pattern) = @_;
my @list = <$pattern>;
print "@list";
}
readline() on unopened filehandle at ...
有什么建议吗?
永远,永远,永远,永远做到这一点。 “glob”运算符是正确的答案。 – friedo 2010-02-15 03:57:07
你说得对,glob是一个更好的答案。感谢您的更正。为什么“永远,永远,永远”这样做? – 2010-02-16 00:57:49
罗伯特,你应该尽可能避免使用字符串'eval';谁知道恶意数据可能以'$ pattern'结尾,特别是如果这是从用户输入派生的。即使不是恶意的,奇怪的东西进入“eval”可能会导致许多痛苦的错误。 – friedo 2010-02-19 17:13:23