in reply to How do I return the first n words of a string?

The first two things that come to my mind:
$_ = "some string with multiple words"; @first_three = (split)[0..2]; # or ($first_three) = /^\s*(\S+\s+\S+\s+\S+)/;
You can probably adapt either of these to your purposes.