in reply to dir / file split

You script seems ok to me. Just a suggestion
$file_path =~ /(.*)\/(.+)/; my ($dir, $file) = ($1, $2);
This will ensure that you are always hitting with the file name so any string like /foo/bar/abc/ would be ignored.