package Tie::AssignWrapper; sub TIESCALAR { bless \( $::{"$_[1]::"}{new}->(@_[1..$#_]) ), $_[0] } sub FETCH { ${ $_[0] } } sub STORE { (${ $_[0] })->AWstore($_[1]) } sub DESTROY { (${ $_[0] })->DESTROY } 1; __END__ =head1 NAME Tie::AssignWrapper - catch assignments to objects =head1 SYNOPSIS use Some::Module; use Tie::AssignWrapper; tie $obj, Tie::AssignWrapper => Some::Module => @args; print $obj->value; $obj = "new value"; print $obj->value; =head1 DESCRIPTION This module intercepts the assignment operator, and passes off the assignment to the module beneath it. It calls the C method (so make sure that's what you call it). =head1 AUTHOR Jeff "japhy" Pinyan CPAN ID: PINYAN japhy@pobox.com =cut