C:\Users\jenda>perl -MO=Deparse -e "print 1+2"
print 3;
-e syntax OK
C:\Users\jenda>perl -MO=Deparse -e "use constant ONE => 1; print ONE+2
+"
use constant ('ONE', 1);
print 3;
-e syntax OK
C:\Users\jenda>perl -MO=Deparse -e "sub ONE () {1}; print ONE+2"
sub ONE () { 1 }
print 3;
-e syntax OK
C:\Users\jenda>perl -MO=Deparse -e "use Readonly; Readonly $ONE => 1;
+print $ONE+2"
use Readonly;
Readonly $ONE, 1;
print $ONE + 2;
-e syntax OK
See Constant folding. Apparently Readonly is not constant enough. So no constant folding, not unreachable code removal, ...
Jenda
Enoch was right!
Enjoy the last years of Rome.
|