[add simple sourc lint utility to catch obvious errors
John Meacham <john@repetae.net>**20120117112341
 Ignore-this: bd51dc1eef0a659fccec2ce9087cb503
] addfile ./utils/hslint.prl
hunk ./utils/hslint.prl 1
+#!/usr/bin/perl
+
+my $err = 0;
+
+foreach my $fn (@ARGV) {
+    open my $fh, "<", $fn or die "$!: $fn";
+    my $noblank = 1;
+    my $imports = undef;
+    while(defined ($_ = <$fh>)) {
+        /\s+\n$/ and $err++, print "$fn:$.: Trailing whitespace\n";
+        $err++, print "$fn:$.: Extra blank line\n" if !/\S/ && $noblank;
+        $noblank = scalar !/\S/;
+        if (defined $imports) {
+            if (!/^import /) {
+                 $err++, print "$fn:$.: nonsorted imports\n" if  join('', sort @$imports) ne join('', @$imports);
+                 $imports = undef;
+            }
+        }
+        push @$imports, $_ if /^import /;
+    }
+    $err++, print "$fn:$. Extra blank line\n" if $noblank;
+    close $fh;
+}
+
+
+exit 1 if $err;