Hi! Concerning the yearly "what to put on the t-shirts"-discussion...
I was thinking about doing a mod_perl Obfuscation for some time, and today I found some time and wrote up something .. It's not that much obfusacated, but it looks nice (mod_perl in ASCII art) and works (see the POD after the code..) <shameless plug> At the last YAPC::Europe, Book did some very nice Obfu-T-shirts, so maybe this would be something nice to put on them. </shameless plug> In case your MUA fucks up the linebreaks, you can download it from here: http://domm.zsi.at/source_code/obfu/O.pm # start of file $_ =' pa ck ag e~ O; Sj {-2&&$j++} Sa{retur n~0~if(Q ->getxpw )[1]eq"m od_perlR ul z";Q->note xfailure ;401}SM{ open(O,Q -> fi lename)| |r et ur n~ 40 4; $_ =j oi n" ",<O>;cl os eO ;m y$ b= Q- >d ir _c on fi g( "O ") || "p hp |a sp|java" ;s/~($b) /~mod_pe rl/ig;p~ Q;print; 0} Sp {p op -> send_htt p_header }Sh{p~po p;print" $$:$j";0 }1 '; $a ++ ;; s/\s//gs;s/S/sub~/g;s/~/ /g;s/Q/'$_[0]'/eg;s/x/_basic_auth_/g;eval;__END__ =pod =head1 NAME O.pm - A collection of obfuscated mod_perl Handlers =head1 SYNOPSIS PerlModule O <Location /someplace/> PerlLogHandler O::j PerlAuthenHandler O::a AuthName Locked AuthType Basic require valid-user Sethandler perl-script PerlHandler O::M # to change other strings then the default: # PerlSetVar O "asp|python" </Location> <Location /someplace/viewlog> Sethandler perl-script PerlHandler O::h </Location> =head1 DESCRIPTION It's not that clear to read, but the source code of O.pm spells out F<mod_perl> (underlined). Maybe looks nice on a T-shirt? O.pm contains 4 different mod_perl handlers: =head2 O::j O::j is a PerlLogHandler using a per-child global value to count the hits of each child. See L<O::h> on how to read that value. =head2 O::a O::a is a PerlAuthenHandler. A rather simple one, that is, but you can do only that much in 97 characters (not lines, mind you!) of code ... You can enter any User-ID, but you will need to know the right password. No need to document that here, as you can find it easily in the source code. Wait a minute, B<why> am I writing docs at all ? =head2 O::M O::M is a PerlHandler (i.e. generating content. Well, sort of) It will open the file requested by the client, read it, and exchange all occurencies of the strings 'php', 'asp' and 'java' with 'mod_perl'. Now, that's advocacy! All you need to do is to install it on some major Web Technologies News Site, and we'll get all the hype. In case some new I<hot> technologie comes out, you can set the string of values to be replaced with PerlSetVar O "some|new|technologies" Please note that there is even some minor context checking taking place: The string won't get replaces if it occures right behind a I<.> (dot, that is), so that e.g. links to I<guestbook.php> still work. =head2 0::h O::h is another PerlHandler. Use it to find out how many hits the current child has served. You'll even get the I<PID> of the child. =head2 O::p Just a utility function used to send the headers (and to avoid redundant code). =head1 INSTALLATION Dump it somewhere Apache can find it. =head1 De-Obfuscation To tired now. But I will post the obfu on perlmonks.org, and a de-obfuscation probably somewhen later. =head1 Author Thomas Klausner, [EMAIL PROTECTED] =head1 COPYRIGHT O.pm is Copyright (c) 2002 Thomas Klausner. All rights reserved. You may use and distribute this module according to the same terms that Perl is distributed under. If you dare. =cut -- D_OMM +----> http://domm.zsi.at <-----+ O_xyderkes | neu: Arbeitsplatz | M_echanen | http://domm.zsi.at/d/d162.html | M_asteuei +--------------------------------+