Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^2: I heart Perl

by chargrill (Parson)
on Feb 15, 2006 at 16:17 UTC ( [id://530430]=note: print w/replies, xml ) Need Help??


in reply to Re: I heart Perl
in thread I heart Perl

I'm still puzzling through how japhy got from perlre's definition of (?{ ... }) to his use of it... but I can at least demonstrate what's happening.

I've simplified the string a little, as japhy's regex eliminates whitespace, but the meat of what's happening is this:

$string = 'ShELoVeSMeshElOvEsmeNOtsHeloVeSMEShELOVESmeNOTShEloVesmEShe +LovesMenoTsHELovEsMESHelOVeSmEnotSHeLOVeSMESHElOvESMENotSHeLoVesmEShE +LovEsmENOTsHELOVEsmEsHELOveSMeNoTshELOVeSmesHElOVesmEnOTSheLOvEsMeshE +LoVESmEnoTSHELOvEsM'; @strings = $string =~ /\w{8}/g; for( @strings ){ @string = split //; $bit = ""; for( @string ){ if( 'a' lt $_ ){ $bit .= '1' } else{ $bit .= '0' } } $letter = pack "B8", $bit; print "string: $_ bit: $bit letter: $letter\n"; }

I've left the print statement so the reader can better see the translation.

Output (truncated):

string: ShELoVeS bit: 01001010 letter: J string: MeshElOv bit: 01110101 letter: u string: EsmeNOts bit: 01110011 letter: s string: HeloVeSM bit: 01110100 letter: t string: EShELOVE bit: 00100000 letter: ...

Very nice! This will certainly inspire me to wrap my head around this use of (?{...}) a bit better. Or a lot better :)



--chargrill
$/ = q#(\w)# ; sub sig { print scalar reverse join ' ', @_ } + sig map { s$\$/\$/$\$2\$1$g && $_ } split( ' ', ",erckha rlPe erthnoa stJu +" );

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (1)
As of 2024-03-19 03:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found