join $req_file, $dir, $ext #### #! /usr/bin/perl use warnings; use strict; use File::Basename; for my $row('./filename.ext', '../filename', 'filename.s1.s2') { my ($filename, $dirs, $suffix) = fileparse($row, qr/\..*/); substr $suffix, 0, 1, q(); # Remove the dot. print "$_\t" for $filename, $dirs, $suffix; print "\n"; }