use File::Spec::Functions qw( catdir rel2abs ); use File::Basename qw( basename ); my $start_dir = catdir(basename(rel2abs($0)), 'start'); open(DIR, $start_dir) ... #### use File::Spec::Functions qw( catfile ); foreach (@files) { my $file = catfile($start_dir, $_); ... }