#!/usr/bin/perl $searchstring = "alcatel"; $email = "mymail\@domain.com"; $localfile = "/home/www/mp3catalog/search.txt"; use WWW::Search; $searchobject = new WWW::Search('Ebay'); $query = WWW::Search::escape_query($searchstring); $searchobject->native_query($query); # *** put results into two arrays *** $a = 0; while ( $resultobject = $searchobject->next_result() ) { $a++; ( $itemnumber[$a] ) = ( $resultobject->url =~ m!item=(\d+)! ); $title[$a] = $resultobject->title; } # *** eliminate entries already in file *** open( INFILE, "$localfile" ); while ( $line = ) { for ( $b = $a ; $b >= 1 ; $b-- ) { if ( $line =~ $itemnumber[$b] ) { splice @itemnumber, $b, 1; splice @title, $b, 1; } } } close(INFILE); $a = @itemnumber - 1; if ( $a == 0 ) { exit; } # *** save any remaining new entries to file *** open( OUTFILE, ">>$localfile" ); for ( $b = 1 ; $b <= $a ; $b++ ) { print OUTFILE "$itemnumber[$b]\n"; } close(OUTFILE); # *** send email with new entries found *** open( MAIL, "|/usr/sbin/sendmail -t" ); print MAIL "To: $email\n"; print MAIL "From: $email\n"; print MAIL "Subject: New $searchstring items found\n\n"; print MAIL "The following new items have been listed on eBay:\n"; for ( $b = 1 ; $b <= $a ; $b++ ) { print MAIL "$title[$b]\n"; print MAIL "http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=$itemnumber[$b]\n\n"; } close(MAIL);