Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: How do I tighten this with map?

by japhy (Canon)
on Oct 16, 2001 at 19:50 UTC ( #119161=note: print w/ replies, xml ) Need Help??


in reply to How do I tighten this with map?

This assumes %fileHash is empty beforehand, and that you meant to escape that . in the regex...

%fileHash = map { /^(\w\w\w\d*):log\.$date$/ ? ($1, $_) : () } readdir DIR;

_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker.
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;


Comment on Re: How do I tighten this with map?
Download Code
Re: Re: How do I tighten this with map?
by SparkeyG (Curate) on Oct 16, 2001 at 20:06 UTC
    Thank you japhy. That's what I was looking for exactly, and I think I understand most of it.

    --SparkeyG

Re: Re: How do I tighten this with map?
by mikeB (Friar) on Oct 16, 2001 at 20:08 UTC
    Just curious why you replaced \w{3} with \w\w\w.

      That's a little speed optimisation, with /\w{3}/ the regex engine sees the {} construct and has to start counting. If you write it out it's just three single characters in a row, so no counting => quicker.

      Of course, this could be optimised by the regex compiler but that wasn't the case at the time of writing of Mastering Regular Expressions. At least this is where I got this from. As japhy is more up to date on this I assume he has checked that this optimisation hasn't been done in the meantime.

      -- Hofmator

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (8)
As of 2015-07-07 06:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (87 votes), past polls