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 +" );
|
---|
In Section
Obfuscated Code