#!/usr/bin/perl use strict; use warnings; BEGIN { print "3: foo=$::foo\n"; our $foo = 42; print "4: foo=$foo\n"; BEGIN { print "1: foo=$foo\n"; $foo = 43; print "2: foo=$foo\n"; } print "5: foo=$foo\n"; $foo = 44; } BEGIN { print "6: foo=$::foo\n"; } __END__ Use of uninitialized value in concatenation (.) or string at ./809940.pl line 11. 1: foo= 2: foo=43 3: foo=43 4: foo=42 5: foo=42 6: foo=44