for my $tmp ("a","b","c") { for (1,2,3) { print "$tmp, $_\n"; } } #### for ("a","b","c") { for (1,2,3) { print "$__, $_\n"; } } #### sub test { # return a closure to a routine which prints the creator's # first argument and the closure's first argument. my $val=$_[0]; sub { print "$val, $_[0]\n" } } #### sub test2 { sub { print "BLANK $_[0]\n" } # ^ # fill in the BLANK with something that refers to # test2's $_[0], not the anonymous sub's }