#!/usr/bin/perl use strict; use DBI; require 'scraping_amazon.pl'; require 'scraping_office_depot.pl'; require 'scraping_buy_com.pl'; require 'scraping_staples.pl'; my $pidAmazon; my $pidOfficeDepot; my $pidBuyCom; my $pidStaples; #################################################################### # Connect to database # #################################################################### my $data = DBI-> connect('DBI:mysql:database=ads;host=LocalHost','Username','password') or die "Can't connect to database:$DBI::errstr\n"; #################################################################### # Prepare sql statement # #################################################################### my $sqlstatement = "select distinct OEM_PartNum, Description from Items_tbl"; my $result = $data->prepare($sqlstatement) or die "Can't prepare SQL statement: $DBI::errstr\n"; #################################################################### # Execute SQL statement # #################################################################### $result->execute() or die "Can't execute SQL statement: $DBI::errstr\n"; #################################################################### # Retrieve rows of data from ebay # #################################################################### my $ref; my $i=0; while($ref = $result->fetchrow_hashref) { # my $OEM_PartNum = $ref->{OEM_PartNum}; # my $ItemDescription = $ref->{Description}; # GetAmazon($OEM_PartNum); # GetOfficeDepot($OEM_PartNum); # GetBuy($OEM_PartNum); # GetStaples($OEM_PartNum); # $pidAmazon=fork(); # die "Cannot fork: $!" if (! defined $pidAmazon); # if (not defined $pidAmazon) { # print "esources not avilable.\n"; # } elsif ($pidAmazon == 0){ # GetAmazon($ref->{OEM_PartNum},$ref->{Description}); # exit(0); # } $pidOfficeDepot=fork(); die "Cannot fork: $!" if (! defined $pidOfficeDepot); if (not defined $pidOfficeDepot) { print "esources not avilable.\n"; } elsif ($pidOfficeDepot == 0){ GetOfficeDepot($ref->{OEM_PartNum},$ref->{Description}); exit(0); } # $pidBuyCom=fork(); # die "Cannot fork: $!" if (! defined $pidBuyCom); # if (not defined $pidBuyCom) { # print "esources not avilable.\n"; # } elsif ($pidBuyCom == 0){ # GetBuy($ref->{OEM_PartNum},$ref->{Description}); # exit(0); # } $pidStaples=fork(); die "Cannot fork: $!" if (! defined $pidStaples); if (not defined $pidStaples) { print "esources not avilable.\n"; } elsif ($pidStaples == 0){ GetStaples($ref->{OEM_PartNum},$ref->{Description}); exit(0); } processcleanup(); fork } $data->disconnect; sub processcleanup { waitpid($pidAmazon,0); waitpid($pidOfficeDepot,0); waitpid($pidBuyCom,0); waitpid($pidStaples,0); }