in reply to Module Readonly

You can combine calin's glob assignment with local to get dynamic scoping of such constants,

{ local *foo = \"foo"; bar() } sub bar { print "${foo}bar$/" } bar(); __END__
which prints,
foobar bar
unless you have warnings on, which will complain of undefined $foo in the second call of sub bar.

After Compline,
Zaxo