sub new_dbh { my $dbfile = "shows.db"; my $dbh= DBI->connect("DBI:SQLite:dbname=$dbfile","","",{sqlite_use_immediate_transaction => 1,}) or die $DBI::errstr; return $dbh; } sub check_episode_exists { my @s_and_e = @_; my $return; my $dbh = new_dbh(); my ($ins,$skip) = (0,0); foreach my $sh(@s_and_e) { my ($id,$format_name,$title,$overview,$show) = split(/\|/,$sh); $show =~ s/-/ /g; print ucfirst($show) . " $format_name - $title \n"; my $sth = $dbh->prepare("SELECT * from seasons WHERE id = ? and format_name =?"); $sth->execute($id,$format_name); my $row = $sth->rows(); if($row == "0") {insert_seasons($id,$format_name,$title,$overview);$ins++;} if($row > 0) {$skip++;update_overview($id,$format_name,$overview)} } print "We added $ins\nWe skipped $skip\n"; } #### sub update_overview { my $dbh = new_dbh(); my ($id,$format_name,$overview) = @_; my $season = substr($format_name,0,3); my $episode = substr($format_name,3); my $sth = $dbh->prepare("UPDATE seasons SET overview = ? WHERE id = ? AND season = ? AND episode = ?"); $sth->execute($overview,$id,$season,$episode); }