my $saved = $magical; ... $magical = ...; ... $magical = $saved #### sub dont_mess_pos { my $vr=\$_[0]; my $pos=pos($$vr); my $s=$$vr; $_[0]=42; $$vr=$s; pos($$vr)=$pos } #### DB<80> my $a="xxx";scalar ($a=~/x/g);print pos($a); tst $a; print $a,pos($a) 1xxx1