Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

(Dermot) Re: regexp's

by Dermot (Scribe)
on Oct 03, 2000 at 17:54 UTC ( #35096=note: print w/replies, xml ) Need Help??

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.

Replies are listed 'Best First'.
(Ovid) RE(2): regexp's
by Ovid (Cardinal) on Oct 03, 2000 at 18:27 UTC
    AAAAAAARRRRRRRGGGGGGGGGHHHHHHHHH! I had them backwards!!!! I hate it when I do that!!!

    Yes, I'm anal about the .* thing. I'm also anal about use strict, -w, checking that my open actually opened something, etc. I do see your point and I acknowledge that your regex is much simpler to read. However, iteration combined with dot star is begging for issues. In this case, though, since the backtracking appears to be small (just 4 characters, max) -- assuming that this is not just an over-simplified subset of data -- it's probably not that much of an issue.


    Join the Perlmonks Setiathome Group or just go the the link and check out our stats.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://35096]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2022-08-08 14:19 GMT
Find Nodes?
    Voting Booth?

    No recent polls found