You can even do it avoiding the temporary list generated by split. Instead, you can use rindex to go directly to the appropriate part of the string:
in reply to Non-regex Methods of Extracting the Last Field from a Record
I'm only posting this for the sake of completeness. This only works because your record separator is whitespace. rindex won't generalize as well as split (more complicated separators, picking out records other than the last, ignoring trailing empty records).
my $rec = " 2425 S 25 \" 6 47! 86 18 21! 87 23 23! -
+ -! - -! 96";
my $last = substr $rec, 1 + rindex($rec, " ");
print $last, $/;