我想知道是否有人可以用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