It's not a mistake. It's a preference. All three styles (package declaration outside the block, package declaration inside the block, and no block at all with file scope) work, and all have their own little pros and cons (none of which rise to the significance of such 'mistakes' as coding errors, syntax abuses or obfuscations).
Unfortunately, such relative trivialities sometimes get overly exaggerated (even to the point of becoming flame wars); thereby distracting everyone from important topics such as xdg's excellent contribution to the Perl community which he has announced in this thread.
Remember: There's always one more bug.