in reply to Re^3: symbol/glob hash explanation
in thread symbol/glob hash explanation
I did try that and it does not work, at least not on my 5.10.1
DB<2> $s = Symbol::gensym DB<3> x ${*$s}{goo} = 'ber' 0 'ber' * DB<4> x \%{*$s}{goo} syntax error at (eval 8)[/usr/share/perl/5.10/perl5db.pl:638] line 2, +near "}{goo" * DB<5> x \%{*$s} 0 HASH(0x86285e8) 'goo' => 'ber' * DB<6> x \%{*Symbol::GEN0} 0 HASH(0x87144e0) empty hash * DB<7> x ${*Symbol::GEN0}{goo} 0 undef DB<8> x $] 0 5.010001 DB<9> x $s 0 GLOB(0x86285b8) -> *Symbol::GEN0
...
* DB<8> x \%{*Symbol::GEN0} 0 HASH(0x8aab260) empty hash * DB<9> x \%{*{Symbol::GEN0}} 0 HASH(0x8aab260) empty hash * DB<10> x \%{*{*Symbol::GEN0}} 0 HASH(0x8aab260) empty hash * DB<11> x \%{'' . *$s} 0 HASH(0x8aab260) empty hash * DB<12> x \%{*$s} 0 HASH(0x8a5b5e8) 'goo' => 'ber' * DB<13> use Scalar::Util qw(refaddr) DB<14> x \%{*refaddr($s)} syntax error at (eval 20)[/usr/share/perl/5.10/perl5db.pl:638] line 2, + near "*refaddr(" * DB<15> x \%{refaddr($s)} 0 HASH(0x8b6eea0) empty hash * DB<16> x \%{sprintf "%x", refaddr($s)} 0 HASH(0x8b73ef0) empty hash * DB<17> x \%{*{"$s"}} 0 HASH(0x8b73c10) empty hash
It does not show up when I dump \%:: (or \%Symbol or \%Symbol:: or \%Symbol::GEN0 or \%Symbol::GEN0:: either (excluded for brevity) at least not that i can see.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: symbol/glob hash explanation
by BrowserUk (Patriarch) on May 03, 2011 at 15:21 UTC | |
by rwstauner (Acolyte) on May 03, 2011 at 16:55 UTC |