Have fun with perl ;-)

Das Security through obscurity nicht funktioniert und einige Perl-Signaturen poehse[TM] sind, sollte ja ausreichend bekannt sein. Auf der anderen Seite macht es aber wahnsinnig Spass Perl-Code in Ascii-Art zu schreiben oder richtig zu verhunzen. Am einfachsten geht das mit dem Perl-Modul Acme::EyeDrops. Nehmen wir mal folgendes Beispiel:

#!/usr/bin/perl

use Acme::EyeDrops qw(sightly);
print sightly({ Shape        => 'rose',
                Regex        => 1,
                Print        => 1,
                Indent       => 1,
                SourceString => "Wanna fuck?!\n" });
{{< /highlight >}}
Dieses Script fuehrt man jetzt aus und leitet STDOUT in eine andere Datei um `perl foobar.pl >
rose.pl` um. Danach steht in der Datei rose.pl folgendes:
{{< highlight perl >}}
                                   ''=~('('.'?'
                                 .'{'.('['^"\+").(
                                '['^')'        ).+(
                               "\`"|   (')')).(  "\`"|
                              '.').  ('['^        '/').
                             "\"".(  '{'^  ',').   ("\`"|
                             '!').  ('`'|  '.').(  ('`')|
                      '.').  ('`'|  '!').(        '{'^'['
                   ).('`'|'&' ).''.  ('['^'.').('`'|'#').
                   ('`'|'+').'?'.'!'  .('!'^'+').'"'  .((
                   '}')).')');$:='.'^   '~';$~='@'|  '(';
                   $^=')'^'['  ;$/='`'|    '.';$,   ='('
                    ^'}';$\='`'  |"\!";$:=        ')'^('}');$~=
                     '*'|"\`";$^=  '+'^'_';$/='&'|'@';$,='['&'~'
                       ;$\=','^'|'  ;$:='.'^'~';$~="@"|  "\(";
                         $^=')'^'['  ;$/='`'|'.';$,='('  ^"\}";
                           $\=('`')|  '!'   ;$:=(')')^  "\}";$~=
                          '*'|'`';$^=  '+'^      '_'   ;$/=('&')|
                          '@';$,='['&'~';$\=','^      '|';$:='.'^
                          '~';$~='@'|'(';$^=')'^'[';$/='`'|"\.";
                          $,='('^'}';$\='`'|       '!'     ;$:
                           =')'^'}';$~='*'
                            |'`';$^   =((
                                      '+'
                                     ))^
                                     '_'
                                     ;$/
                = '&'|"@";         $,=
                ((  '['))&'~';      $\=
               "\,"^  '|';$:='.'   ^((
                '~'));  $~=('@')|  '('
                   ;($^)  ="\)"^  '['
                     ;($/) =((    '`'
             ))|'.'    ;($,)=  '('^'}';$\=
          '`'|'!';$:=      ')'^'}';$~=('*')|
       '`';$^='+'^  '_';$/='&'|  '@';$,=('[')&
     '~';$\=','^  "|";$:= ('.')^  '~';$~="@"|
   '(';$^=')'^  ('[');$/=  '`'|'.';  $,='('^'}'
  ;$\=('`')|  ('!');$:=     ')'^"\}";  $~=('*')|
 ('`');$^=  '+'^'_';$/      ='&'|'@';$,  =('[')&
 '~';$\=  ','^'|';$:         ='.'^'~';$~  ="@"|
 '(';$^ =')'^'[';              $/='`'|'.';  ($,)
 ='('^ '}';$\=                '`'  |'!';$:=  ')'
 ^'}' ;($~)                   =((   '*'))|'`' ;(
 $^) ='+'                     ^((        "_"));
 $/ =((                      '&'
 ))|((                       '@'
  ))                         ;$,
                            =((
                            '['
                            ));

Und jetzt dreimal raten was ein perl rose.pl ausgibt? Weitere (und zum Teil noch ekligere) Beispiele kann man unter perldoc Acme::EyeDrops nachlesen.

For comments, please send me an email