以下のようなコードを書いて perl -n to_sjis.pl < euc-jp.txt > shiftjis.txt しても
euc-jp.txt の最初の 1 行しか出力してくれませんでした
何故なんでしょうか?

-- to_sjis.pl --

#!/usr/bin/perl

use strict;
use warnings;
use Encode;
use Encode::Guess;

# Shift_JIS
if ( ref(guess_encoding($_, qw/shiftjis/)) )
{
print $_;
exit;
}

# EUC-JP
if ( ref(guess_encoding($_, qw/euc-jp/)) )
{
print encode("shiftjis", decode("euc-jp", $_));
exit;
}

# Others
die "error!";

-- to_sjis.pl --