$ perl -e "use Devel::Peek; use strict; BEGIN{*main::foo=\@main::foo; Dump(*main::foo)}; print @foo; " SV = PVGV(0xa6ad1c) at 0x99b984 REFCNT = 4 FLAGS = (MULTI,IN_PAD) NAME = "foo" NAMELEN = 3 GvSTASH = 0x3f991c "main" GP = 0xac5fac SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x99ba04 HV = 0x0 CV = 0x0 CVGEN = 0x0 LINE = 1 FILE = "-e" FLAGS = 0xa EGV = 0x99b984 "foo" Variable "@foo" is not imported at -e line 1. Global symbol "@foo" requires explicit package name at -e line 1. Execution of -e aborted due to compilation errors. $ perl -e "use Devel::Peek; use strict; BEGIN{package Pkg; *main::foo=\@main::foo;};package main; Dump*foo; " SV = PVGV(0xa6ad3c) at 0x99b994 REFCNT = 2 FLAGS = (MULTI,IN_PAD,IMPORT( AV )) NAME = "foo" NAMELEN = 3 GvSTASH = 0x3f9934 "main" GP = 0xac5fec SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0xa8d714 HV = 0x0 CV = 0x0 CVGEN = 0x0 LINE = 1 FILE = "-e" FLAGS = 0x2a EGV = 0x99b994 "foo"