#!/usr/bin/perl use strict; sub outer_function { my ($v1, $v2) = @_; print STDERR "Outer \$v1: " . \$v1 . " = $v1\n"; return inner_function($v1) . ", $v2"; sub inner_function { print STDERR "Inner \$v1: " . \$v1 . " = $v1\n"; return $v1; } } print "First call: " . outer_function("A", "B") . "\n"; print "Secnd call: " . outer_function("X", "Y") . "\n";