#!/usr/bin/perl print outer('John', qw/dog car home/), "\n"; sub outer { my $name = shift; my @items = @_; my $inner = sub { return "$name\'s $_[0] "; }; return map {$inner->($_)} @items; }