私はこのPerlスクリプトを持っています
#!/usr/bin/perl
use strict;
open my $df, '<', 'file.txt' or die "open: $!\n";
my %h;
while (<$df>) {
$h{$_}++ for split /\s+/;
END{
for (keys %h){
print $_, "=", $h{$_};
print "\n";
}
}
}
ファイル内の各単語の発生回数を印刷します。いくつかの質問があります。
1)ユーザーにパラメータをファイル名として使用させることで、このスクリプトを動的にする方法
今:
perl script.pl
欲しい:
perl script.pl fileName
2)出力を降順にソートする方法は?
注:発生に基づいてソートしたいです。
ベストアンサー1
私は何をしますか:
#!/usr/bin/perl
use strict;
my %h;
while (<>) {
$h{$_}++ for split /\s+/;
END{
for (sort { $h{$b} <=> $h{$a} } keys %h){
print $_, "=", $h{$_};
print "\n";
}
}
}
だから:
./script input_file