#!/usr/local/bin/perl -w use strict; local $::i = 22; sub makeAdder { local $::i = shift; return sub { local $::j = shift; return $::i + $::j; }; }; my $add5 = makeAdder(5); my $add7 = makeAdder(7); print $add5, "\n"; print $add5->(7), "\n"; print $add7->(6), "\n";