|
今日は。 Awkで {AA [$1]++} END {for (BB in AA) ...........} とやると、AAの中に有る同じ名前のものが幾つあるか数えてくれると思うの ですが、Perlではどうやったら同じことが出来ますか? 例えば @array=(9, 9, 9, 3, 3, 3, 2, 2, 1) とすると、 9は3個、3は3個、2は2個1は1個あるので、 9=3 3=3 2=2 1=1 としたいのですが、宜しくお願いいたします。 |
|
>>2433 ミング さん: なんとなく似せて書くと #! perl @array = (9,9,9,3,3,3,2,2,1); for (@array) { $array2{$_}++; } for (reverse sort keys %array2) { print "$_=$array2{$_}\n"; } とか。 「ハッシュ」の機能を使っています。 @array の順番には関係なく、 常に大きな数字から出力していますがいいでしょうか。 (ハッシュを使うと、順不同になるので、、) |