HI,
I have a script attached in this mail which reads the output of rpcinfo and
tokenizes its outputs. This problem is similar to my earlier posting a few
days ago. However, in this scenario, the some outputs of rpcinfo response
i.e.   "rpcinfo: RPC: Timed out program 1073741825 version 1 is not
available" overflowed to the next line. Those rpcinfo response outputs which
did not overflow to the next lines are shown below e.g "program 100002
version 2 ready and waiting".

# cat weird
RPC PING pgadm1
program vers proto port service         response
100002    2   udp  55733  rusersd     program 100002 version 2 ready and
waiting
100008    1   udp  55734  walld         program 100008 version 1 ready and
waiting
1073741825    1   udp  64018           rpcinfo: RPC: Timed out
program 1073741825 version 1 is not available
100003    2   udp  55733  sprayd     program 100003 version 2 ready and
waiting

I would like to ignore those "overflowing" outputs whenever the response
does not have the status "ready and waiting". i.e. I would just like to
obtain the line:
rpcinfo:RPC:Timed out, and ignore the next line "program 1073741825 version
1 is not available". 

Hence, I tried inserting a check in the script as below. It tries ignoring
the next line which does not begin with a digit. All rpcinfo outputs
produces the program number at the beginning i.e. digits.

while(<INPUT>){
   print "Here ...\n";
   next if(/^RPC/);
   next if(/^program/);
   next if(/(ready and waiting)$/);

   $_=~m/^(\d+)\s+(\d+)\s+(\w+)\s+(\d+)\s+(\w+)[\s\:]+(.*)$/;
   next if(/^\w+/);    [CHECK INSERTED HERE]
   print "prog no = $1\n";
   print "version = $2\n";
   ...................

}
However, the output produced is shown below:
% ./file-3a.pl
/home/weird opened successfully 
Here ...
Here ...
Here ...
Here ...
prog no = 
version = 
protocol=
port =
service =  
response =

The expected output, assuming everything is correct, would have a mail
generated with the format below:
Date: Tue, 10 Jun 2003 18:48:28 +0800 (MAL)
From: ASEC - Leaw Chern Jian <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: RPCPING OUTPUT

PROG NO         VER             PROTO           PORT            RESPONSE

1073741825              1               udp             64018
rpcinfo: RPC: Timed out 

Could anyone show me where did I go wrong and the method to resolve this
problem?  

ALSO, I would like to know the way which I could write the script to check
if there're completely no rows in the file which contains "ready and
waiting" , hence no mail should be generated. Could someone also show me how
could such checks be incorporated into my current script?

Thanks
 <<file-3a.ZIP>> 


Attachment: file-3a.ZIP
Description: Zip compressed data

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to