use strict; use Magic::Parallel max_parallel => 4; my $parallel_handle = parallel sub { my ($self,$payload) = @_; system("convert.sh $payload") == 0 or warn "Couldn't launch: $!/$?"; }, @ARGV; $parallel_handle->serial(sub { my ($self,$payload) = @_; system("load_db.sh $payload") == 0 or warn "Couldn't launch: $!/$?"; });