下面的代码是应用过程:
shell> ./linter.pl /tmp/abc.html
Your code stinks!
Errors found: 1
Handling errors
现在我们清楚了HTML::Lint如何在代码中发现错误,但还有一个问题——显示代码中出现的错误是好的,但对于诊断问题并没有多大帮助。你真正希望得到的是具体的错误信息,它说明错误的本质以及错误发生的行号。
幸运的是,HTML::Lint将这一信息存储在@err数组中,提取并显示它也很轻易。下一个样本(列表B)以上一个样本为基础,显示了更为详尽的信息。
列表B
#!/usr/bin/perl
# read file name from command line
if (!$ARGV[0]) { die ("ERROR: No file name provided"); }
# initialize linter
use HTML::Lint;
$lint = HTML::Lint->new();
# parse file
$lint->parse_file($ARGV[0]) or die("ERROR: Cannot find file");
# check for errors
($lint->err) ? print "Your code stinks! " : print "Your code rocks! ";
# print detailed error list
foreach $e ($lint->err) {
?print $e->where(), ": ", $e->errtext() , " ";
}
在这种情况下,@err数组由一个foreach()循环处理。每个单独的错误对象被提取出来,其位置和具体的错误信息用对象的where()和errtext()方法显示出来。
这里是一个可能的例子:
shell> ./linter.pl /tmp/abc.html
Your code stinks!
(4:1): </body> with no opening <body>
当然,你可以对上面的脚本进行修改,以便一次验证几个文件,将错误记录到一个日志文件中,而不用显示出来;或者过滤除最重要错误以外的所有错误。请访问HTML::Lint网页了解更多实例与其他技巧。编程快乐!
评论加载中…
![]() |