in reply to Re^2: Is tie inteded to be used in this way?
in thread Is tie inteded to be used in this way?

I thought that while cases like $array[42] = "Doky" would work fine, $array[42] =~ tr/y/i/ or even s/D/L/ for @array; would not call STORE, but I just tried and have been proven wrong, at least for v5.14 :

sub trigger{print "Triggered ".shift."(@_)\n"} #must go BEFORE the eva +l is seen {#bare block because package BLOCK appeared only 5.14 package Arraytrigger; use Tie::Array; use vars qw(@ISA); @ISA = ('Tie::StdArray'); for (qw(STORE CLEAR PUSH POP SHIFT UNSHIFT)) { my $s = "SUPER::$_"; no strict 'refs'; *$_ = sub { main::trigger($s, @_); shift()->$s(@_) }; } } tie my @arr, 'Arraytrigger'; @arr = qw(Doky); $arr[0] =~ tr/y/i/; s/D/L/ for @arr;