in reply to scalar(*main::{VALUE}) appears to return a string rather than a value?

Is this something to do with the implicit recursiveness of the main hash?

No, but "stash" is a "stash" :)( I assume a)

What you got is a typeglob, they store everything $ is

$ perl -l - print for $$, ${ '::$' }, ${ $main::{ '$' } }; &{ $main::{ '$' } }; __END__ 2840 2840 2840 Undefined subroutine &main::$ called at - line 2.

$ perl -e " use Data::Dump::Streamer; Dump $main::{ q{$} }; " $VAR1 = *{'::$'}; *{'::$'} = \4032; $ perl -e " use Data::Dump; dd $main::{ q{$} }; " do { my $a = *main::$; $a = \2104; $a; }

Replies are listed 'Best First'.
Re^2: scalar(*main::{VALUE}) appears to return a string rather than a value?
by Anonymous Monk on Nov 11, 2012 at 14:12 UTC

      ok I think I see this now

      print qq{caret is the special variable symbol for $^}.$/; ALTERPIDSYM: { local $main::{'$'} = q{^}; my $grapplehook = 'tri'; print ${'::$'}; print q{?},$grapplehook; }; print ${ $main::{'$'} }; exit 0;

      {local ${$main::{q<$>}=q<Coyote>}=q<heheh>;$^=${main::{q<$>}},$$;print($^);}

      Thanks for the references Anon :)