#!usr/bin/perl use strict; use warnings; our $xyzzy = 33; print "A: $xyzzy\n"; { local $xyzzy = 55; print "B: $xyzzy\n"; zot(); # changes $xyzzy altough no return value # zot() can modify a global variable print "C: $xyzzy\n"; } # $xyzzy is now back at the A: value print "D: $xyzzy\n"; sub zot { $xyzzy = 99; #set global "our" var } __END__ A: 33 B: 55 C: 99 D: 33