http://qs1969.pair.com?node_id=186381


in reply to Regx Question

my $path = '\nbs\main\den\rel_10.\cr_Q00472526-03-1\final'; $path =~ s/[^\\]+\\(\w+)$/$1/ ; print $path; __END__ \nbs\main\den\rel_10.\final

Update:
My conscience nags me that this answer is not reliable. Suppose you have something at the end that doesn't match \w+, as is (all too) typical of modern file paths?

So, here's another version that's more cautious

my ($leaf ) = $path =~ m/[^\\]+$/g ; #save the leaf $path =~ s/(.+)\\.+\\$leaf$/$1/; #prune the branch $path .= "\\$leaf"; #graft the leaf print "$path\n"; __END__ \nbs\main\den\rel_10.\final

Hope that helps
mkmcconn