use Encode; sub write_to_file { my ($mode, $filename, $what) = @_; open (my $fh, $mode, $filename) or die "Couldn't open $filename for writing: $@"; print $fh $what; close $fh; } my $iso_8859_1 = 'Österreich'; my $string = Encode::decode('iso-8859-1', 'Österreich'); my $utf8 = Encode::encode_utf8($string); write_to_file('>', '_original', $iso_8859_1); write_to_file('>', '_decoded', $string); write_to_file('>:utf8', '_utf8', $utf8);