The super-duper secure obfuscated thingy
Let's remove the strings and see what's left:
#!/usr/bin/perl -wT
use strict;use Safe;(my$s=new Safe)->permit(qw/rand sort entereval/);@_{s=>'t'
}=(<<Orange,"smrfnexi--tjfillx ybvwvngwr ;-)\r");%_=(%_,split(/(\n^.{24})/m,q[
... The big YAPC::Europe banner ...
Orange
... The version and the additional code ...
]),'');$|++;$s->reval($_='eval join"",sort+keys%_')
- We have chosen to walk the secure path: -w, -T,
strict, Safe. And our Safe object is only
allowed to rand, sort and eval
(on top of the base_... stuff).
- At the end of the first line, we assign a few values to %_,
thanks to a hash slice: $_{t} is a here-document starting on
the following line.
- Other values are added to %_, inlucing the "version" string,
that starts by the newline character at the end of line two, and continues
after the Orange line.
- This string is split so that the left side (24 characters and the
preceding newline on each line) of the version block holds the values,
and the right side holds the keys.
- The empty string at the end of the list is the value to key udy,
while the empty string before the first separator is the first key of
the block.
Previous | Next
Copyright © 2000-2001, Philippe "BooK" Bruhat.