in reply to match only last character of a kind

You have had your question answered. For reference, an answer to your title "match only last character of a kind" is to use a greedy match:

my ($dir, $name) = $path =~ m|(.*/)(.*)|;

DWIM is Perl's answer to Gödel