in reply to Reference optimization (alias/glob)

You need to fully-qualify your aref to make this strict-compliant.
my(@array) = qw(one two three four five); duhbub(\@array); sub duhbub { local(*MAIN::aref) = shift; print("$MAIN::aref[1]\n"); }
Voila! Instant -w/strict happiness :)
--
Mike

Replies are listed 'Best First'.
Re: Re: Reference optimization (alias/glob)
by BrowserUk (Patriarch) on Nov 15, 2002 at 20:00 UTC

    Shouldn't that be $main::aref rather than $MAIN::aref?


    Okay you lot, get your wings on the left, halos on the right. It's one size fits all, and "No!", you can't have a different color.
    Pick up your cloud down the end and "Yes" if you get allocated a grey one they are a bit damp under foot, but someone has to get them.
    Get used to the wings fast cos its an 8 hour day...unless the Govenor calls for a cyclone or hurricane, in which case 16 hour shifts are mandatory.
    Just be grateful that you arrived just as the tornado season finished. Them buggers are real work.

      Good question.

      MAIN::, main::, and just :: all work.

      HAH! Even funnier, RMGIR:: also works. I think the local auto-vivifies the namespace :)
      --
      Mike

        That has some interesting obfu possibilites:)


        Okay you lot, get your wings on the left, halos on the right. It's one size fits all, and "No!", you can't have a different color.
        Pick up your cloud down the end and "Yes" if you get allocated a grey one they are a bit damp under foot, but someone has to get them.
        Get used to the wings fast cos its an 8 hour day...unless the Govenor calls for a cyclone or hurricane, in which case 16 hour shifts are mandatory.
        Just be grateful that you arrived just as the tornado season finished. Them buggers are real work.

Re: Re: Reference optimization (alias/glob)
by theirpuppet (Sexton) on Nov 15, 2002 at 19:57 UTC
    now you've got me concerned about namespaces, and all the extra typing. would the optimization be that great to deal with those issues?

    for namespaces, i would then have to use package names and main, and ensure that nothing's clobbering anything else. whereas normally within a block/subrouting using my is good enough.

    for the extra typing, it would just get annoying.