Model queued Perl work as deterministic scalar steps.

Work Queue Panel

work_queue_panel.pl
use strict;
use warnings;

my $extra = ;
my @names = ("read", $extra, "write");
my $log = "";
my $total = 0;

for my $index (0 .. $#names) {
    my $name = $names[$index];
    my $cost = $index + 1;
    my $label = "run:" . $name;
    $total = $total + $cost;

    if ($log eq "") {
        $log = $label;
    } else {
        $log = $log . "," . $label;
    }
}

print "extra=$extra\n";
print "log=$log\n";
print "total=$total\n";
use strict;
use warnings;

my $extra = ;
my @names = ("read", $extra, "write");
my $log = "";
my $total = 0;

for my $index (0 .. $#names) {
    my $name = $names[$index];
    my $cost = $index + 1;
    my $label = "run:" . $name;
    $total = $total + $cost;

    if ($log eq "") {
        $log = $label;
    } else {
        $log = $log . "," . $label;
    }
}

print "extra=$extra\n";
print "log=$log\n";
print "total=$total\n";
use strict;
use warnings;

my $extra = ;
my @names = ("read", $extra, "write");
my $log = "";
my $total = 0;

for my $index (0 .. $#names) {
    my $name = $names[$index];
    my $cost = $index + 1;
    my $label = "run:" . $name;
    $total = $total + $cost;

    if ($log eq "") {
        $log = $label;
    } else {
        $log = $log . "," . $label;
    }
}

print "extra=$extra\n";
print "log=$log\n";
print "total=$total\n";
work queue A queue can be replayed without timers when each work item is represented by fixed scalar data.