strictures

Why doesn't Perl's strictures complain about an undeclared $a?

Why is there no error issued by strict: use strict; $a = $a + 1; ...

Why doesn't Perl's strict warn about an undeclared $a?

Can someone please explain to me the below code. This behavior has been like this for a while (tested on 5.8.5, 5.8.8, 5.10.1, 5.12.2) so there must be a reason behind it? $ perl -M5.012 -E '$aa=2' Global symbol "$aa" requires explicit package name at -e line 1. $ perl -M5.012 -E '$a=2' Thanks. ...