需要使用Perl来创建排列
需要知道glob是否允许我根据范围创建不同的排列:数字或字符串 [1..9]或[' a' - ' z']
实施例: perl -le' print for glob" {L,E,V} {1,2,3,4,5}"' 我想不要手动输入1,2 ... 5。 Possibilites从1到100,值L E V
感谢
答案 0 :(得分:2)
不,除非存在具有所有这些名称的文件,否则glob不会这样做。无论文件是否存在,只有明确列出的文件名部分由glob返回。
但您可以使用perl为您建立列表:
@list = glob '{L,E,V}{' . join(',', 1..100) . '}';
然而,因为使用glob的唯一真正原因是它是多么容易和简洁,所以在这一点上寻找非全局解决方案是有意义的。
这是一个:
@list = map {
my $lev = $_;
map $lev . $_, 1..100;
} qw/L E V/;
答案 1 :(得分:0)
我真的不明白你的问题,但如果你想做排列,请参阅Perl FAQ。
答案 2 :(得分:0)
如果非空括号是唯一的 glob中使用的通配符, 没有匹配的文件名,但是 可能会返回许多字符串。 例如,这会产生九个 字符串,每个配对一个 水果和颜色:
- @many = glob“{apple,tomato,cherry} = {green,yellow,red}”;
醇>
如您所见,此功能仅适用于{}
元语法。