#!/usr/bin/perl

while($line = <>) {
  if($line =~ /: Child (\d*) starting (.*) on ([-a-z0-9]*)\.\.\.$/) {
    push @{$tasks{$1}}, $2;
    push @{$machines{$1}}, $3;
  } elsif($line =~ /^Child (\d*) finished on ([-a-z0-9]*), total runtime (\d*) seconds.$/) {
    push @{$times{$1}}, $3;
  } elsif($line =~ /^All done.$/) {
    $finished = 1;
  }
}

$i = 0;
for $pid (keys %tasks) {
  @tasklist = @{$tasks{$pid}};
  @machinelist = @{$machines{$pid}};
  @timeslist = @{$times{$pid}};
  $i += $#timeslist+1;
  for($j = $#timeslist+1 ; $j <= $#tasklist; $j++) {
    print("Machine " . $machinelist[$j] . " running " . $tasklist[$j] . "\n");
  } 
}

print "Tasks completed: $i\n";
if($finished) {
  print("All done.\n");
}
