The code isUse of uninitialized value in subroutine entry at pkgalias.pl line 28. Undefined subroutine & called at pkgalias.pl line 28.
Whats going on?use strict; use warnings; use Data::Dumper; use Devel::Peek; package pz; sub p1 { return 1; } sub p2 { return 2; } package main; print "pz is".Dumper(\%pz::); print "nz is".Dumper(\%nz::); print "before alias\n"; *nz:: = *pz::; print "after alias\n"; print "nz is".Dumper(\%nz::); warn("dumping PZ\n"); Dump(\%pz::); warn("dumping NZ\n"); Dump(\%nz::); #eval "print nz::p1();"; #if($@) { # die $@; #} print nz::p1(); print "after nz::p1() run\n";
pz is$VAR1 = { "p1" => *pz::p1, "p2" => *pz::p2 }; nz is$VAR1 = { "p1" => *nz::p1 }; before alias after alias nz is$VAR1 = { "p1" => *pz::p1, "p2" => *pz::p2 }; dumping PZ SV = IV(0x8ec8d8) at 0x8ec8dc REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x829fdc SV = PVHV(0x39ca04) at 0x829fdc REFCNT = 2 FLAGS = (OOK,SHAREKEYS) ARRAY = 0x85d9bc (0:6, 1:2) hash quality = 125.0% KEYS = 2 FILL = 2 MAX = 7 RITER = -1 EITER = 0x0 NAME = "pz" BACKREFS = 0x8dad74 SV = PVAV(0x398c04) at 0x8dad74 REFCNT = 2 FLAGS = () ARRAY = 0x839154 FILL = 1 MAX = 3 ARYLEN = 0x0 FLAGS = () Elt No. 0 SV = PVGV(0x8e6f14) at 0x829fcc REFCNT = 1 FLAGS = (MULTI) NAME = "p1" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8355d4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x829f7c CVGEN = 0x0 LINE = 9 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x829fcc "p1" Elt No. 1 SV = PVGV(0x8e6f34) at 0x84550c REFCNT = 1 FLAGS = (MULTI) NAME = "p2" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8356a4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x8daf44 CVGEN = 0x0 LINE = 12 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x84550c "p2" MRO_WHICH = "dfs" (0x281f7560) CACHE_GEN = 0x1 PKG_GEN = 0x1b Elt "p2" HASH = 0xe8474e38 SV = PVGV(0x8e6f34) at 0x84550c REFCNT = 1 FLAGS = (MULTI) NAME = "p2" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8356a4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x8daf44 CVGEN = 0x0 LINE = 12 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x84550c "p2" Elt "p1" HASH = 0xf4b56714 SV = PVGV(0x8e6f14) at 0x829fcc REFCNT = 1 FLAGS = (MULTI) NAME = "p1" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8355d4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x829f7c CVGEN = 0x0 LINE = 9 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x829fcc "p1" dumping NZ SV = IV(0x8ec8d8) at 0x8ec8dc REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x829fdc SV = PVHV(0x39ca04) at 0x829fdc REFCNT = 2 FLAGS = (OOK,SHAREKEYS) ARRAY = 0x85d9bc (0:6, 1:2) hash quality = 125.0% KEYS = 2 FILL = 2 MAX = 7 RITER = -1 EITER = 0x0 NAME = "pz" BACKREFS = 0x8dad74 SV = PVAV(0x398c04) at 0x8dad74 REFCNT = 2 FLAGS = () ARRAY = 0x839154 FILL = 1 MAX = 3 ARYLEN = 0x0 FLAGS = () Elt No. 0 SV = PVGV(0x8e6f14) at 0x829fcc REFCNT = 1 FLAGS = (MULTI) NAME = "p1" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8355d4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x829f7c CVGEN = 0x0 LINE = 9 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x829fcc "p1" Elt No. 1 SV = PVGV(0x8e6f34) at 0x84550c REFCNT = 1 FLAGS = (MULTI) NAME = "p2" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8356a4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x8daf44 CVGEN = 0x0 LINE = 12 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x84550c "p2" MRO_WHICH = "dfs" (0x281f7560) CACHE_GEN = 0x1 PKG_GEN = 0x1b Elt "p2" HASH = 0xe8474e38 SV = PVGV(0x8e6f34) at 0x84550c REFCNT = 1 FLAGS = (MULTI) NAME = "p2" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8356a4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x8daf44 CVGEN = 0x0 LINE = 12 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x84550c "p2" Elt "p1" HASH = 0xf4b56714 SV = PVGV(0x8e6f14) at 0x829fcc REFCNT = 1 FLAGS = (MULTI) NAME = "p1" NAMELEN = 2 GvSTASH = 0x829fdc "pz" GP = 0x8355d4 SV = 0x0 REFCNT = 1 IO = 0x0 FORM = 0x0 AV = 0x0 HV = 0x0 CV = 0x829f7c CVGEN = 0x0 LINE = 9 FILE = "pkgalias.pl" FLAGS = 0x2 EGV = 0x829fcc "p1" Use of uninitialized value in subroutine entry at pkgalias.pl line 28. Undefined subroutine & called at pkgalias.pl line 28.
In reply to package aliasing by bulk88
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |