#!/usr/bin/perl use diagnostics; use strict; use warnings; use File::Find; # there are directory c:\temp\test\öa # and file c:\temp\test\öa\ü.txt my $srcdir = "c:/temp/test/öa"; my $dstdir = "c:/temp/test2"; my @Files; finddepth(\&make_something, $srcdir); sub make_something { push @Files, $File::Find::name; } use Data::Dumper; print Dumper \@Files;