in reply to Scaler found where opeartor expected Error

It appears that you are attempting Bash shell style expression evaluation in perl.

Change that to:

push @body, "<tr><td rowspan='" . scalar( @$books ) . "'>$Author2</td>\n";

             I hope life isn't a big joke, because I don't get it.
                   -SNL