use File::Basename; my ($name,$path,$suffix) = fileparse($path, qr/\..*/);