in reply to path extraction

You need to modify the regex a little bit, like:

... my @strings = qw' /usr/bin/perl /usr/bin/ /perl / perl '; for my $string (@strings) { if( $string =~ m{^(.*/)(.*)$} ) { print "Path = $1, Filename = $2\n"; } elsif( $string =~ m{^([^/]+)$} ) { print "No path, Filename = $1\n"; } } ...

(One variant of many, close to your original program.)

Regards

mwa