Try
Win32::Unicode with
Path::Tiny like
#!/usr/bin/perl --
BEGIN {
if ( eval { require Win32; 1 } ) {
require ex::override;
require Win32::Unicode::Native;
ex::override->import(
GLOBAL_stat => sub (;*) { &Win32::Unicode::Native::stat },
GLOBAL_lstat => sub (;*) { &Win32::Unicode::Native::stat }
+,
map({
my $name = $_;
my $prototype = prototype("CORE::$name");
"GLOBAL_$name" => eval "sub($prototype){&Win32::Un
+icode::Native::$name}";
}
qw/ chdir link mkdir open readlink rename rmdir
symlink unlink utime closedir opendir readdir
/,
)
);
}
}
use Path::Tiny qw/ path /;
for my $drive ( @drives ){
my @picdirs = grep /^\d{4}_\d{2}_\d{2}$/,
eval { path( $drive, $dir )->children };
if( @picdirs ){
...;
}
}