The interesting thing is to watch them write a subroutine that counts all the bits in a byte, then ask them to make it much, much faster. |
To be safe you can use the keyword before any subroutine call even if the subroutine is already defined. |
Note that the first thing this code does is ensure the Variant passed into this subroutine is not null. |
Each Mason component is compiled as necessary into a Perl subroutine, which is then compiled into Perl opcodes. |
It can find the bug if you ask your subroutine for a scalar, but you mistakenly have the subroutine return an array. |
Every time the subroutine calls itself, a few bytes are pushed on to the stack to store the return address. |