All pastes #500874 Raw Edit

gutzb4ll

public text v1 · immutable
·published 2007-05-21 19:41 UTC
rendered paste body
#!/usr/bin/perl -w

use strict;
use Mail::Sendmail;

my $email_address="thinkaboutit\@gmail.com";

my $cachefile="cl-cache";
my $loop_url;

my @search_urls = (     "http://detroit.craigslist.org/search/car?query=tdi",
                        "http://detroit.craigslist.org/search/car?query=diesel",
                        "http://detroit.craigslist.org/search/car?query=wrangler",
                        "http://annarbor.craigslist.org/search/car?query=tdi",
                        "http://annarbor.craigslist.org/search/car?query=diesel",
                        "http://annarbor.craigslist.org/search/car?query=wrangler",
                        "http://lansing.craigslist.org/search/car?query=tdi",
                        "http://lansing.craigslist.org/search/car?query=diesel",
                        "http://lansing.craigslist.org/search/car?query=wrangler");

foreach $loop_url (@search_urls) {
        &read_file($loop_url);
}

sub textme {
        my $url;
        my $desc;
        ($url, $desc) = @_;

        my %mail = ( To         =>  $email_address,
                     From       => 'thinkaboutit@gmail.com',
                     Message    => "$desc found at $url"
                   );
        sendmail(%mail);

        open(CACHE_FILE, ">> $cachefile");
        print CACHE_FILE "$url\n";
        close(CACHE_FILE);
}

sub checkme {
        my $url;
        my $desc;
        ($url, $desc) = @_;

        open(CACHE_FILE, $cachefile);
        while( <CACHE_FILE> ) {
                chomp;
                if ( $_ =~ m/$url/ ) {  return 0; }
        }
        close(CACHE_FILE);

        return 1;
}

sub read_file {

        my $url;
        ( $url ) = @_;

        open( WGET, "wget -O - $url 2> /dev/null |" );
        while ( my $line = <WGET> ) {
                chomp $line;
                if ( $line =~ m/\s*<p>.*<a href="(.*)">(.*)<\/a>.*<\/p>/ ) {
                        my $url=$1;
                        my $desc=$2;

                        &checkme($url, $desc) && &textme($url, $desc);
                }
        }
        close(WGET);
}