Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^2: This could have DWIM better

by ysth (Canon)
on Mar 02, 2006 at 09:32 UTC ( #533833=note: print w/replies, xml ) Need Help??

in reply to Re: This could have DWIM better
in thread This could have DWIM better

Yikes, that's a bug(update: shows a bug in perl itself). The call to length should explicitly be passing $_, but it's not (update: passes nothing) when it is overridden. This causes a problem with lexical $_:
$ perl5.9.4 -w BEGIN{ *CORE::GLOBAL::length = sub (;$) { my $arg = @_ ? $_[0] : $_; defined($arg) ? CORE::length($arg) : undef; } } $_ = "abc"; my $_; $_ = "defghi"; print length; __END__ 3
This should print 6 whether length is overridden or not, but as is prints 3 when it is overridden.

Update: after consideration, I think this is just a natural consequence of the ;$ prototype, and should be no longer a problem with a _ prototype (when someone implements that).

Replies are listed 'Best First'.
Re^3: This could have DWIM better
by japhy (Canon) on Mar 02, 2006 at 14:52 UTC
    Sounds like it's passing the package/global $_ instead of the lexical $_. I must've missed the memo on "lexical $_".

    Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
    How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart
      It's passing nothing. The bug is that the code calling length should always provide the argument.

      The memo.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://533833]
[Your Mother]: A-Team.
[LanX]: never liked it, but a friend of my mother was a big "fan" of Mr T xD
[LanX]: (talking about minority chicks)
[LanX]: Hollywood is built on stereotypes which sell, this includes stereotypes about English, French, russians and ... Americans
[Your Mother]: I think to some degree, maybe a large one, the stereotypes are purely products OF Hollywood and not what would sell best.
[LanX]: well those products which sold best are replicated
[Your Mother]: They get almost everything wrong on every level. I think they create and restrict the market and fundamentally misunderstand audiences.
[Your Mother]: Consider how long, for example, superhero movies were kept at bay because they weren't commercially viable. They always were, just Hollywood couldn't see it or understand how to make one because there is no management talent in the town.
[LanX]: Erich von Strohheim built his career on beeing the most hated guy (The man you love to hate)
[Your Mother]: You see these amazing set, costumes, performances, etc, etc, etc all ruined by production and script decisions from the top down.

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2018-03-19 14:54 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (240 votes). Check out past polls.