Perl中getoptions中的数组

时间:2013-07-08 08:37:58

标签: perl

是否可以将一个选项作为数组而不是标量变量?

喜欢,我想将文件名作为选项,使用'-file',用户将输入通配符,例如“tmp * .txt”。现在我想在数组中存储与“tmp * .txt”相匹配的内容。有可能吗?

2 个答案:

答案 0 :(得分:1)

不是真的。但是你可以在使用之前glob这个论点,它几乎可以做你想要的:

my @files = glob $options{file};
foreach my $file (@files) {
    ...
}

如果您的参数不包含*之类的任何通配符,它​​将像以前一样工作。但如果您提供了*,则globbing将自动扩展。

唯一的缺点是你必须在单引号或双引号中引用参数,例如:-file "tmp*.txt",否则shell会插入你的全局。

答案 1 :(得分:0)

不确定。但是为什么要将它存储在List中呢?

无论如何,这是你如何将它存储在数组中:

my @list = ('FILE',);
print $list[0]; # prints FILE