Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: Scalar followed by parenthetical...

by LanX (Canon)
on May 19, 2013 at 02:42 UTC ( #1034182=note: print w/ replies, xml ) Need Help??


in reply to Scalar followed by parenthetical...

$_{A} tries to access the %_ hash and not a "Scalar followed by parenthetical" ...

DB<126> $_{A}=42 => 42 DB<127> \%_ => { A => 42 }

... which seems to be a predeclared global like $a.

Check special vars.

...

Couldn't find it in perlvar, but I assume the symbol _ has a special "freedom" in Perl.

I.a.w. @_ and $_ are extending their magic to %_! 1

  • Maybe it's just reserved for future use ...

  • Maybe just badly/non documented goody for map constructs...

  • Maybe it's an old bug nobody at P5P dares to fix... (there might be dragons ;-)

I think you will have to learn to live with it... =)

Cheers Rolf

( addicted to the Perl Programming Language)

UPDATES

added code

footnotes

1) see solution


Comment on Re: Scalar followed by parenthetical...
Select or Download Code
Re^2: Scalar followed by parenthetical...
by ikegami (Pope) on May 19, 2013 at 07:28 UTC
    ...maybe it's a side-effect of how those specially named variables are vivified. Oh, and strike that "maybe" :)

      It is. The way the punctuation variables are implemented, if $X exists (assuming X is a punctuation character), then @X and %X also exist.

      There are one or two CPAN modules that make use of the magic global %_. MooseX::Params is an example.

      With a bit of digging around in perlvar you can figure out plenty of spare global variables. I use them occasionally in local code (%\ is one of my favourites), but have so far resisted the urge to publish anything using them. Global variables don't usually make for very good reusable code.

      package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1034182]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (11)
As of 2015-07-03 10:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (51 votes), past polls