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

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: 		}
line 33: 		else {
line 34: 			my @family = &PW::Schema::IngramFamily($isbn);
line 35: 			my $is_book;
line 36: 
line 37: 			if(@family){
line 38: 				 = 1;
line 39: 				foreach(@family){
line 40: 					my $alternates = $_;
line 41: 	
line 42: 					if($alternates->{'ISBN'} eq $isbn || $alternates->{'EAN'} eq $isbn) {
line 43: 						if($alternates->{'Media'} =~ /book/i) {
line 44: 							$is_book = 1;
line 45: 							last;
line 46: 						}
line 47: 					}
line 48: 				}
line 49: 				
line 50: 				foreach(@family){
line 51: 					my $alternates = $_;
line 52: 					@sel = ();
line 53: 					if($alternates->{'ISBN'}){
line 54: 						&Database::Select('WORK_INSTANCE','isbn_std',$alternates->{'ISBN'},\@sel);
line 55: 					}
line 56: 					if($alternates->{'EAN'}){
line 57: 						&Database::Select('WORK_INSTANCE','isbn_std',$alternates->{'EAN'},\@sel);
line 58: 					}
line 59: 					
line 60: #					print STDERR "ISBN: $LayoutManager::url_values{'ISBN'}: $alternates->{'ISBN'}, $alternates->{'EAN'}\n";
line 61: 					
line 62: 					 .= join(',',@sel);
line 63: 					
line 64: #					print STDERR "ISBN: $LayoutManager::url_values{'ISBN'} instances: \n";
line 65: 					
line 66: 					foreach(@sel){
line 67: 						my $instance = $_;
line 68: 						my @review_sel = ();
line 69: 						&Database::Select('REVIEW','book',$instance,\@review_sel);
line 70: 						if(@review_sel){
line 71: 							&Database::GetRow($review_sel[0],'REVIEW',\%data);
line 72: 						
line 73: #							print STDERR "ISBN: $LayoutManager::url_values{'ISBN'} Alternate: " . $alternates->{'ISBN'} . 'Alternate: ' . $alternates->{'EAN'} . " Instance: $instance\n";
line 74: 						
line 75: 							if($is_book) {
line 76: 								if($data{'category'} != 27) { # not audio
line 77: 									 = $review_sel[0];
line 78: 									last;
line 79: 								}
line 80: 							}
line 81: 							else {
line 82: 								if($data{'category'} == 27) {
line 83: 									 = $review_sel[0];
line 84: 									last;
line 85: 								}
line 86: 							}
line 87: 						}
line 88: 					}
line 89: 				}
line 90: 			}
line 91: 
line 92: 		}
line 93: 
line 94: 		if(!){
line 95: 			my($bisac_hash,@ingram_authors);
line 96: 			(,,,,,,,$bisac_hash,@ingram_authors) = &PW::Schema::LookupIngram($isbn);
line 97: 
line 98: 			 =~ s/(\d\d\d\d)(\d\d)(\d\d)/$2\/$3\/$1/;
line 99: 
line 100: 			foreach(@ingram_authors){
line 101: 				my $author = $_;
line 102: 				my($contrib,$name,$role) = split(/	/,$author);
line 103: 				if($role ne 'Author'){
line 104: 					 .= "$role ";
line 105: 				}
line 106: 				my @aname = split(/,/,$name);
line 107: 				@aname = reverse(@aname);
line 108: 				if(){
line 109: 					 .= '; ';
line 110: 				}
line 111: 				 .=  "@aname";
line 112: 			}
line 113: 		}
line 114: 	
line 115: 		$isbn_struct = Business::ISBN->new($isbn);
line 116: 
line 117: 		if($LayoutManager::url_values{'ASIN'}){
line 118: 			$main::ENV{'BUY_AMAZON'} = "http://www.amazon.com/gp/product/$LayoutManager::url_values{'ASIN'}/ref=as_li_tl?ie=UTF8&tag=publiweekl05-20";
line 119: 		}
line 120: 		elsif($LayoutManager::url_values{'ISBN'}){
line 121: 			if($isbn_struct && $isbn_struct->is_valid){
line 122: 				$isbn10 = $isbn_struct->as_isbn10;
line 123: 				$isbn13 = $isbn_struct->as_isbn13;
line 124: 				$isbn10_string = $isbn10->as_string([]);
line 125: 				$isbn13_string = $isbn13->as_string([]);
line 126: 				$main::ENV{'BUY_AMAZON'} = "http://www.amazon.com/gp/product/$isbn10_string/ref=as_li_tl?ie=UTF8&tag=publiweekl05-20";
line 127: 				$main::ENV{'BUY_APPLE'} = "http://itunes.apple.com/us/book/isbn$isbn13_string?at=10lvId";
line 128: 				$main::ENV{'BUY_INDIEBOUND'} = "http://www.indiebound.org/book/$isbn13_string?aff=PublishersWeekly";
line 129: 				$main::ENV{'BUY_POWELLS'} = "http://www.powells.com/partner/41251/biblio/$isbn13_string?p_isbn";
line 130: 				$main::ENV{'BUY_GOOGLE'} = "https://play.google.com/store/search?q=$isbn13_string&c=books&PAfiiliateID=11lwg2";
line 131: 				$main::ENV{'BUY_BANDN'} = "http://click.linksynergy.com/deeplink?mid=36889&id=uWBQGnFbkjk&murl=http%3A%2F%2Fcart2.barnesandnoble.com%2FShop%2Fxt_manage_cart.asp%3Fean%3D$isbn13_string%26productcode%3DBK";
line 132: #				$main::ENV{'BUY_BANDN'} = "http://cart2.barnesandnoble.com/Shop/xt_manage_cart.asp?ean=$isbn13_string&productcode=BK";
line 133: 			}
line 134: 		}
line 135: 		
line 136: 		
line 137: #		if($main::ENV{'BUY_AMAZON'}){
line 138: #			my $amazon = uri_escape($main::ENV{'BUY_AMAZON'});
line 139: #			$main::ENV{'BUY_AMAZON'} = "http://target.georiot.com/Proxy.ashx?tsid=6198&GR_URL=$amazon";
line 140: #		}
line 141: #
line 142: #		if($main::ENV{'BUY_APPLE'}){
line 143: #			my $apple = uri_escape($main::ENV{'BUY_APPLE'});
line 144: #			$main::ENV{'BUY_APPLE'} = "http://target.georiot.com/Proxy.ashx?tsid=6198&GR_URL=$apple";
line 145: #		}
line 146: #
line 147: 		
line 148: 	}
line 149: 	else {
line 150: 		$main::ENV{'review'} = $LayoutManager::url_resolved_rows{'REVIEW.nickname'};
line 151: 	}
line 152: 	
line 153: 	if() {
line 154: 		my(%data,%catdata,%wkdata);
line 155: 		&Database::GetRow(,'REVIEW',\%data);
line 156: 		&Database::GetRow($data{'category'},'REVIEW_CATEGORY',\%catdata);
line 157: 		&Database::GetRow($data{'book'},'WORK_INSTANCE',\%data);
line 158: 		&Templates::SetMeta("<link rel=\"canonical\" href=\"http://www.publishersweekly.com/$data{'isbn'}\" />");
line 159: 		$main::ENV{'street_date'} = $data{'street_date'};
line 160: 		$main::ENV{'street_date'} =~ s/(\d\d\d\d)(\d\d)(\d\d)/$2\/$3\/$1/;
line 161: 		if($catdata{'adsense_suffix'}) {
line 162: 			&Templates::ReWrite("googletag.defineSlot('/19361732/enlarged'", "googletag.defineSlot('/19361732/enlarged$catdata{'adsense_suffix'}'");
line 163: 			&Templates::ReWrite("googletag.defineSlot('/19361732/Leaderboard'", "googletag.defineSlot('/19361732/Leaderboard$catdata{'adsense_suffix'}'");
line 164: 			&Templates::ReWrite("googletag.defineSlot('/19361732/skyscraper'", "googletag.defineSlot('/19361732/skyscraper$catdata{'adsense_suffix'}'");
line 165: 		}
line 166: 		my $work = $data{'parent'};
line 167: 		$work =~ s/WORK.//;
line 168: 		# print STDERR "work: $work\n";
line 169: 		&Database::FetchRow($work,'WORK',\%wkdata);
line 170: 		$main::ENV{'consumerauthor'} = $wkdata{'author'};
line 171: 	}
line 172:  };
line 173: &doEval();
line 174: 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