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