Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: subroutine bewilderment: how to mimic builtins

by ikegami (Patriarch)
on Feb 08, 2006 at 03:55 UTC ( [id://528707]=note: print w/replies, xml ) Need Help??


in reply to Re^2: subroutine bewilderment: how to mimic builtins
in thread subroutine bewilderment: how to mimic builtins

I know, but it's as close as possible. Considering the case that is different is an illegal case, I didn't bother confusing the issue by mentioning it.

my $_; doesn't compile for me with Perl v5.8.6. Did you mean tie $_? There's some kind of problem with local $_ when $_ is tied, but 1) that's not likely, and 2) it can be avoided by localizing *_ instead of $_ (as I did in one of my examples).

Replies are listed 'Best First'.
Re^4: subroutine bewilderment: how to mimic builtins
by ysth (Canon) on Feb 08, 2006 at 04:39 UTC
    my $_; is intended as a replacement for the not-ideal local $_; or local *_;.

    perl591delta:

    =head2 Lexical $_

    The default variable $_ can now be lexicalized, by declaring it like any other lexical variable, with a simple

    my $_;
    The operations that default on $_ will use the lexically-scoped version of $_ when it exists, instead of the global $_.

    In a map or a grep block, if $_ was previously my'ed, then the $_ inside the block is lexical as well (and scoped to the block).

    In a scope where $_ has been lexicalized, you can still have access to the global version of $_ by using $::_, or, more simply, by overriding the lexical declaration with our $_.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2024-04-20 14:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found