$ 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)
####
$ 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"
##
##
360 #define SVprv_PCS_IMPORTED SVp_SCREAM /* RV is a proxy for a constant
361 subroutine in another package. Set the
362 GvIMPORTED_CV_on() if it needs to be
363 expanded to a real GV */