http://qs321.pair.com?node_id=1162509


in reply to whats ronge in this

I hit the "approve" button for this post, but I was really tempted not to. Posting a bunch of badly formatted code with no explanation is unlikely to lead to helpful responses.

I'm not about the run the code as posted. I might bring it up in emacs just to fix the indentation and see if there's anything to say just from looking at it.

So, do you have a particular problem with the code as posted? If so, what is the problem?

UPDATE: In trying to fix the indentation, I noticed that you have an extra close-curly-bracket on the line just preceding this one:

for(1..$npids){
There might be other things wrong, of course, but if you don't say what those other things are, we're not likely to guess them.

Another update: I took the time to run "perl -cw" on the script (after removing that extra close-bracket), and found that you need to include a semicolon (';') after the close-curly-bracket that immediately precedes this line:

close($foundipFILE);
That's because the close-bracket preceding that line is actually the end of an eval block, which makes it different from the close-bracket of an if, while, or for block. Also, taken as-is (without use strict;), it compiles but there's a warning about a variable called out that appears only once: it appears to be a hash that gets values assigned to keys, but then is never used.

As expected, if I add use strict; it won't compile -- there are 8 variables being used without being explicitly declared. Let us know if you'd like some help.