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

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