in reply to Searching for a string in outfile

Given that you have this code already (which would be displayed in your post as follows, if you just put <code>...</code> tags around the code):
my $mech = WWW::Mechanize->new(); $mech->get($url); $mech->form_name('loginform'); $mech->field(login => $username); $mech->field(passwd => $password); $mech->click(); my $outpage = $mech->content(); open(OUTFILE, ">$outfile"); print OUTFILE "$outpage";
If it's true that the contents of "$outpage" include a string that matches this regular expression:
/You have \d+ unread messages/
Then you just need four more statements: match and capture that string in $outpage, open your "final" output file, write the captured string to the output file, and close the file. If you need to see the code for that...
if ( $outpage =~ /(You have \d+ unread messages)/ ) { open( FINAL, ">", "make_up_a_file_name" ) or die $!; print FINAL $1,"\n"; close FINAL; }
If that regex doesn't match, you'll need to check the actual contents of "$outpage", and figure out how the regex would need to change in order to match the desired phrase.

Replies are listed 'Best First'.
Re^2: Searching for a string in outfile
by ysksai (Initiate) on May 08, 2009 at 16:02 UTC
    Thank you so much it works!
      Hi Again, I am trying to use the same script on my prod server link with userid/password for it and I am receiving the following error: Error GETing http://"server link:" Unauthorized at script.pl line 11 ( line 11 is $mech->get($url);) Please advice. Thanks in advance,
      Great. Just for grins, how about you update your OP and put in the code tags (and include a little update note to make it clear that you changed the post).

      As for this error that you apparently reported (posting as Anonymous Monk):

      GETing http://"server link:" Unauthorized at script.pl line 11
      Are you sure that the userid/password in your script are exactly the ones you are supposed to use? (Are you sure the url string is correct?) Do those exact strings work when you paste them into an interactive (manual) connection?

      Check the WWW::Mechanize docs about setting the "user agent" that is reported in the request that you send -- the server might be using that item to limit misuse of their service. (I'm just guessing -- I don't know much about this part of the process.)