use File::Spec; my $dirname; for my $name ( @files ) { if ( $name =~ s/:$// ) { # use trailing : to id dirname $dirname = $name; } else { my $fullpath = File::Spec->catfile( $dirname, $name ); # slurp or do whatever with file at $fullpath } }