Tie :: StdScalar to find out who changed $0 .
{ package Tie::Scalar::Croaker; use Tie::Scalar qw( ); use Carp qw( confess ); our @ISA = qw( Tie::StdScalar ); sub FETCH { $0 } sub STORE { confess('$0 changed'); } tie($0, Tie::Scalar::Croaker::); }
source share