http://www.perlmonks.org?node_id=377403


in reply to How's your Perl? (II)

Solutions:

Note that for a few exercises multiple solutions are given.

[1] $foo = *x;
[2] *foo = \substr $x, 0;
*foo = \vec $x, 0, 8;
[3] BEGIN { $^H |= 0x30000; $^H{qr} = sub{""} }
[4] *foo = qr/IO::Handle/;
[5] *foo = find PerlIO::Layer "raw";
[6] *foo = sub{\@_}->($x, $x);
[7] *foo = \42;
[8] *foo = sub{\@_}->(${*STDIN{IO}});
sub DB::DB { die if ++$x==2 } BEGIN { $^P |= 0x22 }
[9] $foo = "\n0"; $* = 1;
[10] //; *foo = \$+[0];
[11] *@ = *|; eval { die "2" };
[12] 2 =~ /(2)/; *| = \local $1;
2 =~ /(2)/; *| = *^N;
$[ = 2; *| = *[;
[13] &Internals::SvREADONLY(\undef, 0); undef = 42;