$ perl -e "use Devel::Peek; use strict; BEGIN{*main::foo=\@main::foo; Dump(\@main::foo)}; print @foo; " SV = IV(0xac90b0) at 0xac90b4 REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x99b9fc SV = PVAV(0x3faa8c) at 0x99b9fc REFCNT = 2 FLAGS = () ARRAY = 0x0 FILL = -1 MAX = -1 ARYLEN = 0x0 FLAGS = (REAL) 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 = IV(0x3f9a40) at 0x3f9a44 REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0xa8d714 SV = PVAV(0x3faaa4) at 0xa8d714 REFCNT = 2 FLAGS = () ARRAY = 0x0 FILL = -1 MAX = -1 ARYLEN = 0x0 FLAGS = (REAL)