Shouldn't be much of a change. The only somewhat tricky part might be a fancier use of split in order to avoid having to concatenate the first few values together after splitting them previously. I think this should work:
# Instead of the existing split in the code I wrote...
my ($pre, $possible) = split / ([^ ]+)$/, $stu;
That way, you can just concatenate $pre to the beginning of $matched_dp when you assign to $stu.
As a sidenote, am I the only one that was surprised to find that Perl does not have an rsplit function? This is possibly the first time I've found myself thinking 'Gee, if this were Python...' :P