#!/usr/bin/perl -- use utf8; use strict; use warnings; my @kebabs = ( "\x{45B}\x{435}\x{432}\x{430}\x{43F}.txt", "ra\x{17E}nji\x{107}.txt", "\x{107}evap.txt", "\x{43A}\x{435}\x{431}\x{430}\x{43F}\x{447}\x{435}.txt", "kebab.txt", ); binmode STDOUT, ':encoding(UTF-8)'; { use Win32::Unicode qw/ -native /; mkpathW 'meat'; chdirW 'meat'; for my $kebab ( @kebabs ){ print "kebabing the $kebab\n"; open my($fh), '>:raw', $kebab or die Fudge($kebab); print $fh $kebab or die Fudge($kebab); close $fh or die Fudge($kebab); } } sub Fudge { use Errno(); join qq/\n/, "Error @_", map { " $_" } int( $! ) . q/ / . $!, int( $^E ) . q/ / . $^E, grep( { $!{$_} } keys %! ), q/ /; } __END__