Perl新手,我试图定义一个字符子集,然后在文本文件中输出它们的所有可能组合(最多8个字符)。我真的不习惯'默认变量'或Perl的其他方面,所以我从伪代码开始,希望有人能够帮助我解释具体细节(我从例子中学到了很多东西)。Perl - 创建一个蛮力列表
#Define output file
$filename=output.dat
$standard_output->$filename
#Define list
$list[]=regex/a..z 0..9/
#Cycle through iterations
foreach $letter1 in $list{
print $list[$letter]
}
foreach $letter1 in $list{
foreach $letter2 in $list{
print $list[$letter1] $list[$letter2]
}
}
...
foreach letter1 in list{
foreach letter2 in list{
foreach letter3 in list{
foreach letter4 in list{
foreach letter5 in list{
foreach letter6 in list{
foreach letter7 in list{
foreach letter8 in list{
print list[letter1] list[letter2] list[letter3] list[letter4] list[letter5] list[letter6] list[letter7] list[letter8]
}
}
}
}
}
}
}
}
正如你可以清楚地看到的,我对此很新颖。有人能帮助我理解Perl吗?
你的伪代码产生的所有可能的组合,这是比所有的排列多了不少。 – 2012-08-17 02:44:07
你说得对,我用错了词。我正在寻找所有可能的组合。发布编辑。 – 2012-08-17 02:48:58
请参阅'Algorithm :: Combinatorics'中的''combinations'](http://p3rl.org/Algorithm::Combinatorics#combinations-data-k-)([code example](http://stackoverflow.com/a/10300383)) – daxim 2012-08-17 09:26:50