这段 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

相关:Acme::EyeDrops