in reply to Re^4: Newbie parsing problem
in thread Newbie parsing problem

\w only matches letters, digits and underscores. since the hyphen is a non-word (\W), that regex interprets it as a separator, so that the second part of the last name is considered the first name.
the following code supports hyphenated first and last names:
my ($last, $first, $middle) = ($name =~ /([\w-]+)\W*?([\w-]+)\W*(\w)?/);