EVAL ERROR: Not a HASH reference at /usr/local/Iowa.git/local/IowaSites/PW/Schema.pm line 3395.

Code:
line 1: package tmpevalpackage;
line 2: sub doEval { 
line 3: 	use URI::Escape;
line 4: 	use HTML::Entities;
line 5: 
line 6: 	if($LayoutManager::url_values{'ASIN'}) {
line 7: 		$LayoutManager::url_values{'ISBN'} = 'ASIN ' . $LayoutManager::url_values{'ASIN'};
line 8: 	}
line 9: 
line 10: 	1-465-04225-2 = $LayoutManager::url_values{'ISBN'};
line 11: 
line 12: 	if($LayoutManager::url_values{'ISBN'}) {
line 13: 		my($isbn,@sel,$work,%data,%issue_data,$isbn_struct,$isbn10_string,$isbn13_string,$isbn10,$isbn13);
line 14: 		$isbn = $LayoutManager::url_values{'ISBN'};
line 15: 		$isbn =~ s/\-//g;
line 16: 		&Database::Select('WORK_INSTANCE','isbn_std',$isbn,\@sel);
line 17: 
line 18: 		if(@sel) {
line 19: 			 = join(',',@sel);
line 20: 			$work = $sel[0];
line 21: 			@sel = ();
line 22: 			&Database::Select('REVIEW','book',$work,\@sel);
line 23: 			if(@sel) {
line 24: 				&Database::GetRow($sel[0],'REVIEW',\%data);
line 25: 				&Database::GetRow($data{'issue'},'ISSUE',\%issue_data);
line 26: 				if($issue_data{'published'} || $data{'early_release'}) {
line 27: 					 = $sel[0];
line 28: 				}
line 29: 				if($issue_data{'date'} < 20150101){
line 30: 					 = $sel[0];
line 31: 				}
line 32: 			}
line 33: 
line 34: 			#print STDERR "Call to IngramFamily1 $isbn\n";
line 35: 
line 36: 			my @family = &PW::Schema::IngramFamily($isbn);
line 37: 			if(@family){
line 38: 				 = 1;
line 39: 			}
line 40: 		}
line 41: 		else {
line 42: 			#print STDERR "Call to IngramFamily2 $isbn\n";
line 43: 
line 44: 			my @family = &PW::Schema::IngramFamily($isbn);
line 45: 			my $is_book;
line 46: 
line 47: 			if(@family){
line 48: 				 = 1;
line 49: 				foreach(@family){
line 50: 					my $alternates = $_;
line 51: 
line 52: 					if($alternates->{'ISBN'} eq $isbn || $alternates->{'EAN'} eq $isbn) {
line 53: 						if($alternates->{'Media'} =~ /book/i) {
line 54: 							$is_book = 1;
line 55: 							last;
line 56: 						}
line 57: 					}
line 58: 				}
line 59: 
line 60: 				foreach(@family){
line 61: 					my $alternates = $_;
line 62: 					@sel = ();
line 63: 					if($alternates->{'ISBN'}){
line 64: 						&Database::Select('WORK_INSTANCE','isbn_std',$alternates->{'ISBN'},\@sel);
line 65: 					}
line 66: 					if($alternates->{'EAN'}){
line 67: 						&Database::Select('WORK_INSTANCE','isbn_std',$alternates->{'EAN'},\@sel);
line 68: 					}
line 69: 
line 70: #					print STDERR "ISBN: $LayoutManager::url_values{'ISBN'}: $alternates->{'ISBN'}, $alternates->{'EAN'}\n";
line 71: 
line 72: 					 .= join(',',@sel);
line 73: 
line 74: #					print STDERR "ISBN: $LayoutManager::url_values{'ISBN'} instances: \n";
line 75: 
line 76: 					foreach(@sel){
line 77: 						my $instance = $_;
line 78: 						my @review_sel = ();
line 79: 						&Database::Select('REVIEW','book',$instance,\@review_sel);
line 80: 						if(@review_sel){
line 81: 							&Database::GetRow($review_sel[0],'REVIEW',\%data);
line 82: 
line 83: #							print STDERR "ISBN: $LayoutManager::url_values{'ISBN'} Alternate: " . $alternates->{'ISBN'} . 'Alternate: ' . $alternates->{'EAN'} . " Instance: $instance\n";
line 84: 
line 85: 							if($is_book) {
line 86: 								if($data{'category'} != 27) { # not audio
line 87: 									 = $review_sel[0];
line 88: 									last;
line 89: 								}
line 90: 							}
line 91: 							else {
line 92: 								if($data{'category'} == 27) {
line 93: 									 = $review_sel[0];
line 94: 									last;
line 95: 								}
line 96: 							}
line 97: 						}
line 98: 					}
line 99: 				}
line 100: 			}
line 101: 
line 102: 		}
line 103: 
line 104: 		#print STDERR "Call to LookupIngram: $isbn\n";
line 105: 
line 106: 		if(!){
line 107: 			my($bisac_hash,@ingram_authors);
line 108: 
line 109: 			(,,,,,,,$bisac_hash,@ingram_authors) = &PW::Schema::LookupIngram($isbn);
line 110: 
line 111: 			 =~ s/(\d\d\d\d)(\d\d)(\d\d)/$2\/$3\/$1/;
line 112: 
line 113: 			foreach(@ingram_authors){
line 114: 				my $author = $_;
line 115: 				my($contrib,$name,$role) = split(/	/,$author);
line 116: 				if($role ne 'Author'){
line 117: 					 .= "$role ";
line 118: 				}
line 119: 				my @aname = split(/,/,$name);
line 120: 				@aname = reverse(@aname);
line 121: 				if(){
line 122: 					 .= '; ';
line 123: 				}
line 124: 				 .=  "@aname";
line 125: 			}
line 126: 		}
line 127: 
line 128: 
line 129: #		if($main::ENV{'BUY_AMAZON'}){
line 130: #			my $amazon = uri_escape($main::ENV{'BUY_AMAZON'});
line 131: #			$main::ENV{'BUY_AMAZON'} = "http://target.georiot.com/Proxy.ashx?tsid=6198&GR_URL=$amazon";
line 132: #		}
line 133: #
line 134: #		if($main::ENV{'BUY_APPLE'}){
line 135: #			my $apple = uri_escape($main::ENV{'BUY_APPLE'});
line 136: #			$main::ENV{'BUY_APPLE'} = "http://target.georiot.com/Proxy.ashx?tsid=6198&GR_URL=$apple";
line 137: #		}
line 138: 			$main::ENV{'image_alt_title'} = ;
line 139: #
line 140: 	}
line 141: 	else {
line 142: 		$main::ENV{'review'} = $LayoutManager::url_resolved_rows{'REVIEW.nickname'};
line 143: 	}
line 144: 
line 145: 	if() {
line 146: 		my(%data,%catdata,%wkdata,%work_data,@authors,@podcasts,@auth_articles);
line 147: 		&Database::GetRow(,'REVIEW',\%data);
line 148: 		$main::ENV{'image_alt_title'} = $data{'title'};
line 149: 
line 150: 		if($data{'category'}){
line 151: 			&Database::GetRow($data{'category'},'REVIEW_CATEGORY',\%catdata);
line 152: 		}
line 153: 		
line 154: 		&Database::GetRow($data{'book'},'WORK_INSTANCE',\%data);
line 155: 
line 156: 		# get related podcasts
line 157: 		&Database::GetParentRow($data{'parent'},\%work_data);
line 158: 		foreach(&Database::SelectChildren($work_data{'author'})) {
line 159: 			&Database::Select('PODCAST','book_authors',$_,\@podcasts);
line 160: 			&Database::Select('ARTICLE','book_authors_ref',$_,\@auth_articles);
line 161: 		}
line 162: 		 = join(',',@podcasts);
line 163: 		 = join(',',@auth_articles);
line 164: 
line 165: 		&Templates::SetMeta("<link rel=\"canonical\" href=\"http://www.publishersweekly.com/$data{'isbn'}\" />");
line 166: 		$main::ENV{'street_date'} = $data{'street_date'};
line 167: 		$main::ENV{'street_date'} =~ s/(\d\d\d\d)(\d\d)(\d\d)/$2\/$3\/$1/;
line 168: 		if($catdata{'adsense_suffix'}) {
line 169: 			&Templates::ReWrite("googletag.defineSlot('/19361732/enlarged'", "googletag.defineSlot('/19361732/enlarged$catdata{'adsense_suffix'}'");
line 170: 			&Templates::ReWrite("googletag.defineSlot('/19361732/Leaderboard'", "googletag.defineSlot('/19361732/Leaderboard$catdata{'adsense_suffix'}'");
line 171: 			&Templates::ReWrite("googletag.defineSlot('/19361732/skyscraper'", "googletag.defineSlot('/19361732/skyscraper$catdata{'adsense_suffix'}'");
line 172: 		}
line 173: 		my $work = $data{'parent'};
line 174: 		$work =~ s/WORK.//;
line 175: 		# print STDERR "work: $work\n";
line 176: 		&Database::FetchRow($work,'WORK',\%wkdata);
line 177: 		$main::ENV{'consumerauthor'} = $wkdata{'author'};
line 178: 
line 179: 	}
line 180: 	$main::ENV{'image_alt_title'} =~ s/\'//g;
line 181: 	$main::ENV{'image_alt_title'} =~ s/\"//g;
line 182: 	$main::ENV{'image_alt_title'} = encode_entities($main::ENV{'image_alt_title'}, '<>&"');
line 183: 
line 184:  };
line 185: &doEval();
line 186: 1;

We don't currently have a review of this title, but here is all the information we do have about it.

ISBN: 1-465-04225-2
The Best Books, Emailed Every Week
Tip Sheet!
MORE BOOKS YOU'D LIKE
X