If he's not running under strict yet, any non-lexical variable declared will be autovivified as a package global. If he does swap the two lines, he will have to use our or vars, but that's because strict catches that sort of thing, not because it's necessary for inheritance purposes.