Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re^2: using AUTOLOAD to access read-only data structures

by shmem (Canon)
on Jun 02, 2011 at 06:27 UTC ( #907756=note: print w/replies, xml ) Need Help??

in reply to Re: using AUTOLOAD to access read-only data structures
in thread using AUTOLOAD to access read-only data structures

It can't be done from within, since the method call is out of the scope of that package. It's like saying
perl -le '$foo = "Blorf"; $foo->quux' Can't locate object method "quux" via package "Blorf" (perhaps you for +got to load "Blorf"?) at -e line 1.

Replies are listed 'Best First'.
Re^3: using AUTOLOAD to access read-only data structures
by ikegami (Pope) on Jun 02, 2011 at 06:33 UTC
    $foo doesn't hold an object that stringifies to Blorf or throws a better error on method call.
      Thanks, got it. Sometimes I'm slow.

      update: something like that would do:

      ... sub import { shift; $config or $config = XMLin(shift) if @_; $XSConf::strict = shift if @_; return; # don't give $config away } .... ref $thing and $token = $thing or return bless \$thing, XS +Conf::Str; } } return $package; } package XSConf::Str; use overload '""' => \&str, fallback => 1; sub str { ${$_[0]} } our $AUTOLOAD; sub AUTOLOAD { return if $AUTOLOAD eq 'XSConf::Str::DESTROY'; my @caller = caller; die "you cannot invoke the method '$AUTOLOAD' on the string '$_[0] +'" . " at $caller[1] line $caller[2]\n" if $XSConf::strict; $_[0]; } 1;

      update: added $XSConf::strict, caller and die

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://907756]
[MidLifeXis]: :-)
[MidLifeXis]: Not for a few years yet. Kids in school :-)
[LanX]: NQC
[MidLifeXis]: Is there internet access up there on the lakes? If I moved there I would like to be able to fish :-D
[LanX]: Not Quite Canada
[Discipulus]: have you been fired?!?
[LanX]: remote rules, I've been offered jobs in the US with the promise to stay outside
[MidLifeXis]: Nope. Just looking around, as there are multiple culture and business changes in the area I am in.
[MidLifeXis]: not yet, anyway. Who knows. Just do my best and whatever happens happens.
[LanX]: should be even easier for you

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (13)
As of 2017-03-23 12:40 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (286 votes). Check out past polls.