#!/usr/bin/perl -w use strict; use warnings; my @TEST_VALUES = ('55a', 'a55'); foreach my $i (@TEST_VALUES) { print "Calling TEST('$i'): "; print "\nTEST return value = ", TEST($i), "\n\n\n"; } exit; ####################################### sub TEST { my $N = shift; local $SIG{__WARN__} = sub { print "\nWarning was triggered. N=$N "; $N = 77; print " Now N is $N **END OF WARNING**\n"; }; print "\n N=$N N+0= "; print "ADDITION: ", $N + 0; print "\n N=$N "; return $N; }