use strict; use warnings; use utf8; use Encode qw/encode decode decode_utf8 encode_utf8 from_to/; use Encode::Guess qw/cp932 euc-jp utf8 7bit-jis/; my $cmp_str = 'w'; my $instr = ''; my $max_count = 0; my %dat=(); $instr = decode('utf8', ); if( $instr ne '' ) { while ($instr ne '' ) { $instr =~ s/^(.*?)($cmp_str+)//; my $str = $1; my $str_n = $2; my $count = 0; $count++ while($str_n =~ m/$cmp_str/g); $max_count = $count if($max_count < $count); push(@{$dat{$count}}, $str); } } foreach my $line ( @{$dat{$max_count}} ) { next if( $line eq '' ); print "$line\n"; }