sub RemoveThing
{
my $thingid = shift();
my $thingtodo = q[sub {&Handlers::thing_remove("_thingid");}];
$thingtodo =~ s/\b_thingid\b/quotemeta($thingid)/ge;
$thingtodo = eval($thingtodo);
# QueueAction serializes it's first argument
QueueAction($thingtodo);
}
####
my @tasks = ();
{
my $x = 'A';
push @tasks, sub {print "Doing task $x\n";};
}
{
my $x = 'B';
push @tasks, sub {print "Doing task $x\n";};
}
foreach (@tasks) {$_->();}
####
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) {$_->();}