是否可以将一个选项作为数组而不是标量变量?
就像,我想将文件名作为选项,使用“-file”,用户将使用通配符输入,例如“tmp*.txt”。现在我想将与这个“tmp*.txt”匹配的内容存储在一个数组中。可能吗?
是否可以将一个选项作为数组而不是标量变量?
就像,我想将文件名作为选项,使用“-file”,用户将使用通配符输入,例如“tmp*.txt”。现在我想将与这个“tmp*.txt”匹配的内容存储在一个数组中。可能吗?
并不真地。但是您可以glob
在使用之前使用此参数,这几乎可以满足您的要求:
my @files = glob $options{file};
foreach my $file (@files) {
...
}
如果您的参数不包含任何通配符,例如*
,它将像以前一样工作。但是如果你提供了*
,globbing 会自动扩展。
唯一的缺点是您必须在单引号或双引号中引用参数,例如:-file "tmp*.txt"
,否则 shell 将插入您的通配符。
当然。但是为什么要将它存储在 List 中?
无论如何,这是您将其存储在数组中的方式:
my @list = ('FILE',);
print $list[0]; # prints FILE