in reply to call subroutine if scalar is changed

You can schedule a periodic check for the value using repeat:
{ my $previous_name = $name; $mw->repeat(200, sub { if ($name ne $previous_name) { warn "$previous_name -> $name"; } $previous_name = $name; }); }
map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]