Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: How to express contents of a file as regex metachars?

by SuicideJunkie (Vicar)
on Jun 15, 2012 at 19:18 UTC ( [id://976483]=note: print w/replies, xml ) Need Help??


in reply to How to express contents of a file as regex metachars?

If you don't mind consuming the input, you can use an anchored regex to eat the input as you generate the summary.

my %mapping = ( '[a-zA-A0-9]+' => 'A', ); my $summary = ''; CHUNK: while (length $filedata) { foreach my $reg (keys %mapping) { if ($filedata =~ s/^$reg//) { $summary .= $mapping{$reg}; next CHUNK; } } die "Chunk starting with '". substr($filedata, 0,10) . "' did not ma +tch any rules!"; }

If I'm confused as to your goal and you actually want to do the opposite of this, you can take the reverse of the %mapping hash and concatenate a big regex string by looking up the regex substring for each character in the summary in turn.

Replies are listed 'Best First'.
Re^2: How to express contents of a file as regex metachars?
by dwhite20899 (Friar) on Jun 16, 2012 at 19:54 UTC

    I think that's freaking brilliant. Using variables in regexes has always scared the pants off me, I can never get them to do what I want.

    As cavac asked, I'm building a crude lossy compression.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (2)
As of 2026-02-14 22:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.