##
my @processes;
foreach (sort { $po{$a} <=> $po{b} } keys %po) {
push @processes, $_;
}
####
foreach (sort { $po{$a} <=> $po{b} } keys %po) {
push @processes, $subs{$_};
}
####
foreach (@processes) {
$input = $_->($input);
}