in reply to Is local a declaration?

The local() function will only work on existing package variables. The reason being is that it localises the given variable(s) to the current scope e.g
$foo = "main scope"; { local $foo = "temp scope"; print "\$foo is $foo\n"; } print "\$foo now $foo\n"; __output__ $foo is temp scope $foo now main scope
This is handy for some of perl's cruftier globals such as $/ and $".
HTH

broquaint