我在以前的访问中得到了这个问题,不能做任何想法?
>这是做什么的?
`$=`;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,$\,$",$;,$^,$#,$~,$*,$:,@%)=( $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++; $_++;$_++;($_,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,);$,++ ;$,++;$^|=$";`$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=`
解决方法
这是打印出“只是另一个Perl黑客”的Perl代码.
虽然Ruby中大部分$_,$=等变量都可用,但是存在诸如$的语句表示Perl,实际上它们具有前后增量运算符,与Ruby不同.
我和Vim一起进入,并用他们的English等价物代替了所有的符号.我输了一些东西,因为输出现在是“只是另一个每个黑客”(缺少Perl上的L),但这是我想出的:
use English; `$FORMAT_LINES_PER_PAGE`; $ARG=\%!;($ARG)=/(.)/;$FORMAT_LINES_PER_PAGE=++$OUTPUT_AUTOFLUSH; ($INPUT_LINE_NUMBER,$OUTPUT_FIELD_SEPARATOR,$OUTPUT_RECORD_SEPARATOR,$LIST_SEPARATOR,$SUBSCRIPT_SEPARATOR,$FORMAT_TOP_NAME,$OFMT,$FORMAT_NAME,$MULTILINE_MATCHING,$FORMAT_LINE_BREAK_CHARACTERS,@%)=( $!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$LIST_SEPARATOR),$FORMAT_LINES_PER_PAGE++; $INPUT_LINE_NUMBER++; $INPUT_LINE_NUMBER++; $ARG++;$ARG++; ($ARG,$OUTPUT_FIELD_SEPARATOR)=($FORMAT_NAME.$LIST_SEPARATOR."$SUBSCRIPT_SEPARATOR$/$FORMAT_PAGE_NUMBER[$CHILD_ERROR]$ARG$OUTPUT_RECORD_SEPARATOR$OUTPUT_FIELD_SEPARATOR$FORMAT_LINE_BREAK_CHARACTERS$FORMAT_PAGE_NUMBER[$CHILD_ERROR]",$LIST_SEPARATOR&$FORMAT_NAME,); $OUTPUT_FIELD_SEPARATOR++ ; $OUTPUT_FIELD_SEPARATOR++; $FORMAT_TOP_NAME|=$LIST_SEPARATOR; `$ARG$OUTPUT_RECORD_SEPARATOR$OUTPUT_FIELD_SEPARATOR$/$FORMAT_LINE_BREAK_CHARACTERS$SUBSCRIPT_SEPARATOR$FORMAT_NAME$MULTILINE_MATCHING$FORMAT_PAGE_NUMBER[$CHILD_ERROR]$INPUT_LINE_NUMBER$FORMAT_NAME$MULTILINE_MATCHING${#}$FORMAT_PAGE_NUMBER[$CHILD_ERROR]$SUBSCRIPT_SEPARATOR$OUTPUT_RECORD_SEPARATOR$LIST_SEPARATOR$FORMAT_TOP_NAME$FORMAT_NAME$MULTILINE_MATCHING.>&$FORMAT_LINES_PER_PAGE`