我有一個關於Perl數據結構的問題。
我有一個文件1.txt
與以下字段和數據。
Student rollno class
John,23,2
Mike,25,2
Ray,78,3
Tim,30,3
Mark,22,2
能否請你幫怎麼能在Perl打印輸出?
我分裂文件,並獲得一個數組,但絆倒在結果集。你能描述我如何得到如下的輸出嗎?
2= john, mike, mark
3= ray, tim
我需要一個數據結構來結合這個結果集。
我有一個關於Perl數據結構的問題。
我有一個文件1.txt
與以下字段和數據。
Student rollno class
John,23,2
Mike,25,2
Ray,78,3
Tim,30,3
Mark,22,2
能否請你幫怎麼能在Perl打印輸出?
我分裂文件,並獲得一個數組,但絆倒在結果集。你能描述我如何得到如下的輸出嗎?
2= john, mike, mark
3= ray, tim
我需要一個數據結構來結合這個結果集。
如果您使用第三列作爲每個密鑰的密鑰,那麼您可以設置一個Hash of Arrays來管理數據。首先在文件中加載並用逗號將字段拆分成數組。然後按鏈接文檔中「Generation of a Hash of Arrays」示例中的第28行所述設置數據結構。一旦你把所有的東西都放在一起,你只需要把它全部打印出來,就像在鏈接的例子中一樣。
這一戰略可能是這樣的一個匆匆的例子(注意,我在劇本的__DATA__
部分的數據,而不是從文件中讀取):
#!/usr/bin/perl
use warnings;
use strict;
my %results;
while (<DATA>) {
chomp;
my @elems = split(/,/, $_);
push(@{$results{$elems[2]}}, $elems[0]);
}
for my $key (sort { $a <=> $b } keys %results)
print "$key = ";
print join(', ', @{$results{$key}}), "\n";
}
__DATA__
John,23,2
Mike,25,2
Ray,78,3
Tim,30,3
Mark,22,2
輸出生成這個樣子的:
2 = John, Mike, Mark
3 = Ray, Tim
到目前爲止,您是如何解決這個問題的? –
如果您不顯示代碼,那麼很難幫助您修復程序。這是功課嗎? – Borodin