use strict ; use warnings ; my $mock = "I\nII\nIII\nIV" ; open my $FH, '<', \$mock ; $_ = 'firstborn' ; while (local $_ = <$FH>) { chomp ; print "$_=" ; tr/IV/iv/ ; amuck() ; print "$_ " ; } ; if (!defined($_)) { $_ = '*undef*' ; } ; print " -- $_\n" ; sub amuck { $_ = '!!!' } ;