Encode使う場合はこうかな

use Encode;
my $cp932 = find_encoding( 'cp932' );
my $um = $cp932->decode( $matcher );
my @text = split( "\n", $cp932->decode( $text ) );
for my $i ( 0.. scalar( @text )-1 ) {
 next unless ( shift( @text ) =~/$um/ );
 print $i + 1 . "\n";
 last;
}

問題がつまらんね