我是 Perl 新手。
我想说一个变量可以有 2 个值,然后我从另一个函数调用它。
我尝试过:
my(@file) = <${dirname}/*.txt || ${dirname}/*.xml> ;
但这似乎不适用于第二个值,有什么建议吗?
最佳答案
使用 <*>
时作为 fileglob 运算符,您可以使用任何常见的 glob 模式。可用模式有
-
*
(任意数量的任意字符), -
?
(任何单个字符), -
{a,b,c}
(任何a
、b
或c
模式),
所以你可以这样做
my @file = glob "$dirname/*.{txt,xml}";
或
my @file = (glob("$dirname/*.txt"), glob("$dirname/*.xml"));
或
my @file = glob "$dirname/*.txt $dirname/*.xml";
因为全局模式在空白处被分割成子模式
关于perl - 如何使用 "or "运算符为变量分配多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16296720/