foreach $cmd(@commands) { if($cmd =~ /CGDCONT/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"; } } } #### Engine::_Execute(..\..\perl\modules/Engine.pm:122): 122: unless (fork) { DB<1> s Bizarre SvTYPE [37] at ..\..\perl\modules/Engine.pm line 122. Engine::_Execute(C:/Perl/lib/Carp.pm:97): 97: { local $@; require Carp::Heavy; } # XXX fix require to not clear $@?