警告が頻発することがある。指定されつつ同時にUTF-8コードで保存されたソースコードで発生する。print文でリテラル文字列(埋め込み文字列)だけを表示させようとしても警告が出る。utf8指定がなければ警告は出ない。警告の原因は出力文字列がフラグ付きのperl内部的UTF8コードだからである。このような警告を出したくないのであれば、encodeされた文字列だけprint文で出力すればよい。encode_utf8処理が(Encode.pm内部エラーとかで)失敗するとスクリプトは簡単に異常終了するので要注意。webサーバーのapacheではprint文の引数の文字コードがフラグ無しのみまたはフラグ有りのみであれば文字化けなしで出力される。フラグの有り無し文字が混在した文字列を出力しようとした場合に文字化けが起こる。encode(内部フラグ除去)する必要がある。encode_utf8統一することは、必ずしも奨励されるべき手法ではない。以下を実行してみると、UTF8文字列に文字化けが生じる文字列混在の条件が明瞭にわかるはず。