Engine::Execute { : foreach (@commands) { $cmd = $_; if($cmd =~ /INITIAL/i) { unless (fork) { eval $cmd; if ($@) { print "When executing: $cmd\nFollowing error occured: $@\n"; } exit; } } else { eval $cmd; if ($@) { print "When executing: $cmd\nFollowing error occured: $@\n"; } } } }