()=/(.*)/s,
$_ is an alias for one of the reversed strings in @_. Assuming this is being run by Perl 5, list context forces $1 to get set in the absence of /g. (perlre notes that $1 wouldn't get set in Perl 4.) $1 now refers to the entire string held in $_ (including the "\n" in the final one, thanks to /s).
$_=reverse,
Use scalar context to set $_ to a reversed copy of itself.
print $1
Since $1 still refers to the entirety of $_, the reversed string is printed. (You could just print $_ here, but that would hardly be obfuscating.)for @_=(" tsuJ", ...)
@_ is a false clue. It could as well be @x. The array assignment makes a copy of the array. This permits individual elements (pointed to by $_) to be reversed. Without the array assignment here, reverse would fail in an attempt to reverse a read-only string.
In reply to Re: Re: Re: Thanks to Rudif
by dws
in thread Thanks to Rudif
by japhy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |