我想知道是否有人可以用perl來幫助絕望的新手以下問題。我一整天都在努力,但是我的perl書在工作中,我似乎無法在谷歌裏找到任何相關的東西......或許我真的很愚蠢。從製表符分隔的文本文件列製作數組
我有一個看起來像一個文件中:
Bob April
Bob April
Bob March
Mary August
Robin December
Robin April
輸出文件我後:
Bob April April March
Mary August
Robin December April
因此,它列出了每個月的順序,它似乎爲每個人。
我試着把它變成一個散列,但當然它不會讓我有重複,所以我想我想每個名稱都有數組(在這個例子中,鮑勃,瑪麗和羅賓)。 我害怕上傳我一直試圖調整的代碼,因爲我知道這將是可怕的錯誤。我想我需要定義(?)數組。這是正確的嗎?
任何幫助將不勝感激,我保證我將在此期間更多地研究perl。
謝謝你的時間,耐心和幫助。
#!/usr/bin/perl -w
while (<>) {
chomp;
if (defined $old_name) {
$name=$1;
$month=$2;
if ($name eq $old_name) {
$array{$month}++;
}
else {
print "$old_name";
foreach (@array) {
push (@array, $month);
print "\[email protected]";
}
print "\n";
@array=();
$array{$month}++;
}
}
else {
$name=$1;
$month=$2;
$array{month}++;
}
$old_name=$name;
}
print "$old_name";
foreach (@array) {
push (@array, $month);
print "\[email protected]";
}
print "\n";
你並不需要初始化標量值爲(空)的數組引用,它是自動完成的。 – TLP 2012-04-14 15:23:14
@TLP - 是真的,但對於一個新手來說,這有點不直觀。 – DVK 2012-04-14 15:24:48