use strict;
use utf8;
use Encode;
…
open my $fh, '/dev/null' or die encode('utf8', "エラー "), $!;

とか? (うちの環境で$!は日本語を吐かないので$!部分は未検証)