in reply to parse filenames

Have you looked at File::Basename's fileparse function?