Others have addressed various other parts of your code, such as why you're forking twice, what the while loop is for, etc. However, there are a few things in your code that others haven't addressed.
On Thu, Sep 26, 2002 at 09:20:37AM -0400, chad kellerman wrote: [snip] > foreach my $usr (@users) { > my $UsrPid; > unless ($UsrPid = fork) { > while fork { > do stuff > exit 0; > } > exit 0; > } > waitpid($UsrPid,0); > } > if (defined @otherusers) Checking for defined'ness on an array is almost certainly wrong. You probably simply want to check if there are any elements, which simply requires: if (@otherusers) You're also missing an open brace after the if. > foreach my $usr2 (@otherusers) { The test of @otherusers is redundant because of this loop. If @otherusers has no elements this loop will never be run. > my $oUsrPid; > unless ($oUsrPid = fork) { > while fork { > do stuff > exit 0; > } > exit 0; > } > exit 0; > } > waitpid($oUsrPid,0); $oUsrPid is not in scope here; you've declared it inside the foreach loop, but you're using it outside of that block. You probably meant to use it inside the block. This will cause a fatal error with use strict; you are using strict, right? > } Michael -- Administrator www.shoebox.net Programmer, System Administrator www.gallanttech.com -- -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]