my @tasks = (); my $x; $x = 'A'; push @tasks, sub {print "Doing task $x\n";}; $x = 'B'; push @tasks, sub {print "Doing task $x\n";}; foreach (@tasks) {$_->();}