note ambrus <p>I could solve 5 of them. <spoiler> <p>1. <code>*x=*_;&{sub{\$x="kacsa\n";print\$x}}(\$a,\$a);</code> <p>2. <code>{foo;redo}</code> <p>3. <code> # lvalue subroutines are EXPERIMENTAL (a); \$foo="a";sub a:lvalue{\$a};@a=(19,85); print \\$foo-> == \\$foo->(1), \$/; # Pseudo-hashes are DEPRECATED (b); \$foo=[{1,1},"kacsa"];\$\=\$/; print (\\$foo->); print (\\$foo->{1}); print (\\$foo-> == \\$foo->{1}); </code> <p>4. <code>dump;; # But that may change in future versions. I don't know any solution # not using the function dump; kill 5,0 is too long. </code> <p>6. <code>\$u="kacsa";\$x=\\$u;\$y="\$x";\$\=\$,=\$/;print \$x,\$y,\$\$x,\$\$y,\$x eq \$y,\$\$x eq \$\$y;</code> <p>7. I can't even make !*\$foo true. <p>8. <code> # Why does changing \$foo fail silently? I don't quite understand. # It works in perl5.{00503,6.1,8.0,8.1} *foo=*[;print((\$foo^=0)++ eq \$foo++,\$/); </code> </spoiler> <p><b>UPDATE:</b> read some solutions. So you accept mine for 3 and 4. Quiestion 10 is really trickey. <p><b>UPDATE:</b> please someone explain why my solution to 8 works. I don't understand. Thx. <p><b>UPDATE:</b> I still don't know how my solution to 8 works, I've found it accidentally, but I see that there's a similar solution using \$^N. (And one even with \$1, wow!) (The official solution which uses \$| is eaasier to understand.) 302287 302287