http://qs321.pair.com?node_id=362828


in reply to An overloaded object and tie

Try looking at Tie::Array.

Replies are listed 'Best First'.
Re^2: An overloaded object and tie
by Anonymous Monk on Jun 09, 2004 at 19:17 UTC
    Hi, I've already tried this - it doesn't work in the way I thought/wanted it to:
    package Tie::NewStdArray; use Tie::Array; @ISA = ('Tie::StdArray'); sub STORE { print 'in store'; } sub FETCH { print 'in fetch'; } # all methods provided by default package main; my @somearray; my $object = tie @somearray,Tie::NewStdArray; $somearray[0]=12; #intercepted by tie $object[0]=12; #uses the blessed array
    Using the object returned from tie uses the blessed reference not the tie, which means you can't use the [] syntax when object are created on the fly by overloading. For example:
    $three=$two+$one; print $three[12];