-1

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

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

4

2 回答 2

1

并不真地。但是您可以glob在使用之前使用此参数,这几乎可以满足您的要求:

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

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

唯一的缺点是您必须在单引号或双引号中引用参数,例如:-file "tmp*.txt",否则 shell 将插入您的通配符。

于 2013-07-08T08:49:44.150 回答
0

当然。但是为什么要将它存储在 List 中?

无论如何,这是您将其存储在数组中的方式:

my @list = ('FILE',);
print $list[0]; # prints FILE
于 2013-07-08T08:44:42.223 回答