That's not really a wait issue. When closing a piped open filehandle, if the opened command exits with a non-zero and that's the only issue with the command, then $! is set to 0. So the code above is using the tertiary operater to check that condition. I thought that might be the issue too but the OP said it worked fine from the command line so more than likely there's either a path or permisssion issue.
In reply to Re^2: "close" failing
by derby
in thread "close" failing
by munishdev
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |