这段 Perl 代码是如何工作的?
How does this Perl code work?
我找到了这个 Perl 程序:
''=~('(?{'.(']])@+}'^'-/@._]').'"'.('/<[*-_<+>?}{>]@}+@}]])@+}@<[*-_<+>?}{>]@^'^'`^=_^<]_[[]+[/,]_/]-/@._]/^=_^<]_[[]+[/,|').',$/})')
它打印 "Obfuscated Perl to print obfuscated Perl"
我想知道它是如何打印出来的。
很好地利用了bitwise string XOR operator ^
.
']])@+}' ^ '-/@._]'
计算为 print
、
'/<[*-_<+>?}{>]@}+@}]])@+}@<[*-_<+>?}{>]@^'
^ '`^=_^<]_[[]+[/,]_/]-/@._]/^=_^<]_[[]+[/,|'
计算为Obfuscated Perl to print obfuscated Perl"
,整个程序缩减为
$ perl -MO=Deparse ...
'' =~ m[(?{print "Obfuscated Perl to print obfuscated Perl",$/})];
... syntax OK
我找到了这个 Perl 程序:
''=~('(?{'.(']])@+}'^'-/@._]').'"'.('/<[*-_<+>?}{>]@}+@}]])@+}@<[*-_<+>?}{>]@^'^'`^=_^<]_[[]+[/,]_/]-/@._]/^=_^<]_[[]+[/,|').',$/})')
它打印 "Obfuscated Perl to print obfuscated Perl"
我想知道它是如何打印出来的。
很好地利用了bitwise string XOR operator ^
.
']])@+}' ^ '-/@._]'
计算为 print
、
'/<[*-_<+>?}{>]@}+@}]])@+}@<[*-_<+>?}{>]@^'
^ '`^=_^<]_[[]+[/,]_/]-/@._]/^=_^<]_[[]+[/,|'
计算为Obfuscated Perl to print obfuscated Perl"
,整个程序缩减为
$ perl -MO=Deparse ...
'' =~ m[(?{print "Obfuscated Perl to print obfuscated Perl",$/})];
... syntax OK