use warnings; use strict; use File::Find; use File::Copy; use autodie qw/File::Copy::copy/; my $tgt_dir = shift; find( sub { return unless -f $_; copy($File::Find::name, qq($tgt_dir/$_)); }, @ARGV )