HTML Validator always fails (check script problem)

Hi,

I have downloaded the HTML validator and got it running on my Linux machine.
However is always tells me that pages are not valid HTML.  Even pages which
validate successfully on the publicly accessible site.  After some searching
I have tracked down the source of the problem but don't understand the Perl.

Line numbers refer to '# $Id: check,v 1.305.2.82 2003/08/27 12:32:06 link
Exp $' version  Although I have been debugging on an older version  # $Id:
check,v 1.305.2.12 2002/11/30 23:18:00 link Exp $, there does no appear to
be any differences near this line.

In the 'check' script near line 641 is the line
  if ($File->{ESIS}->[-1] =~ /^C$/) {
The ESIS array appears to contain the output from the onsgml process.  And
if I understand this correctly it is trying to match it for a line
containing a single character 'C'.  I understand that Perl arrays go from 0
upwards, so what is the -1 element?  In my case the -1 element contains the
same as the last element of the @{File->{ESIS} } array, which is usually
')HTML'.  So the test always fails.

As a consequence of this the setting of the 'Is Valid' hash list member is
always set FALSE and then an error is reported.

Any help in understanding what this 'if' statement is trying to do would be
much appreciated.

Thanks
Phil Walter
Software Consultant.
----------------------------------------------
Phil Walter
Eastmore Ltd.

e-mail phil@eastmore.co.uk
web site www.eastmore.co.uk

Received on Friday, 29 August 2003 08:51:59 UTC