in reply to why can't I

If you used the debugger, you would be able to investigate on your own any behaviour that doesn't match your expectations.

A 15 second tutorial in how to use the debugger is available at Re: Debugger Tutorials.

He also mentions using Perl as an interactive shell to experiment with commands. Strictly speaking, you invoke Perl as perl -d -e 0 --- perl with debugger, running the code consisting of the number zero ... in other words, nothing. I prefer the trick I learned from someone or another, invoking Perl as perl -demo --- perl with debugger, running the invalid code chunk 'mo'.

As Occam said: Entia non sunt multiplicanda praeter necessitatem.