in reply to order of strict and package

use strict is lexically scoped, so it takes effect as soon as it's encountered, but can be overridden in an inner block:
$main = 123; package xyz; use strict; $xyz = 123; package abc; $abc = 123;
warns about $xyz and $abc but not about $main.