http://www.perlmonks.org?node_id=35096


in reply to regexp's

Untested but should be enough to give you the idea:
foreach (@array) { /^(\d+).*(\w+)$/; %hash{$2} = $1; }
- For each element in @array

- Start of line
- Capture digits to $1
- Don't capture stuff between $1 and $2
- Capture alphanumerics to $2
- End of line

- Use values captured in $1 and $2 to populate hash
Update: Long live Dot Star. The problem is simple, I believe the solution should be too.

Update II: Ovid Just a nitpick, don't hate me for this but he wanted the last field as key and first field as value not the other way around. jcwren that is a beautiful solution.