Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

(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.

    Cheers,
    Ovid

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

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2020-10-23 03:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (234 votes). Check out past polls.

    Notices?