#!/usr/bin/perl use strict; use warnings; use Win32::Process; use Win32; my $sleep = shift || 2; my $pl = "traydb.pl"; my $pldir = "C:\\perl\\code\\TrayDb\\"; my @plargs = ('-configfile bdprod.cfg', '-configfile fdprod.cfg', '-configfile vdprod.cfg', '-configfile fddvlp.cfg', '-configfile bddvlp.cfg'); sub ErrorReport{ print Win32::FormatMessage( Win32::GetLastError() ); } sub SpawnTrayDb { my $ProcessObj = shift; my $pl = shift; my $plargs = shift; Win32::Process::Create($ProcessObj, "c:\\perl\\bin\\perl.exe", "perl $pl $plargs", 0, DETACHED_PROCESS, $pldir)|| die ErrorReport(); } foreach (@plargs) { print "$pl $_\n"; sleep $sleep; SpawnTrayDb(my $po, $pl, $_); }