another htmllintがなぜかうまくいかない

Another htmllint は、HTML文書のチェックを行ってくれるCGIです。機能満載で、以前からちょこちょこ使ってます。
これを導入しようとしたら、なぜかうまくいかない。
http://www.xdelta.net/blog/FreeBSD/2009/03/22/p269 とか見て、バージョンを上げた(最新版はこのパッチが適用されている)のですが、解決できませんでした。
仕方ないからhtmllint.cgiを書き変える。コマンドライン引数の渡され方がおかしいってことなので、ARGVから探索してみました。
どうも$ENV{'QUERY_STRING'}が空文字列でなく、コマンドライン引数が存在している場合は、コマンドラインモードとし、そうでない場合はCGIモードとする、というかんじのようです。
とりあえず

if ( $ENV{'QUERY_STRING'} eq '' ...

if ( !grep(/QUERY_STRING/,keys(%ENV)) ...

とやって回避。