X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fssic.pl;h=81bb50dfdcdc29868805a5e6374b78d6862894a6;hb=874cafcd1d826d03066055b80c7900cae706f9c8;hp=30f1f255371f92a821cd2ee09feb76dc3608d922;hpb=54231a8541deca709baeb49e35e62a4d7ecea00a;p=ssic.git
diff --git a/src/ssic.pl b/src/ssic.pl
old mode 100644
new mode 100755
index 30f1f25..81bb50d
--- a/src/ssic.pl
+++ b/src/ssic.pl
@@ -1,9 +1,24 @@
#!/usr/bin/perl
+#
+# Copyright (C) 2013 Patrick "P. J." McDermott
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
use strict;
use warnings;
-use Getopt::Std;
+use Getopt::Long;
use CGI::SSI;
sub main
@@ -14,16 +29,25 @@ sub main
$SIG{'__WARN__'} = \&warning;
- if (not getopts('o:hV', \%opts)) {
+ Getopt::Long::Configure("no_ignore_case", "bundling", "gnu_compat",
+ "no_getopt_compat");
+ if (not GetOptions(\%opts,
+ "o=s",
+ "D=s%",
+ "I=s",
+ "h|help",
+ "V|version",
+ )) {
usage(*STDERR);
+ exit(4);
}
if (exists($opts{'h'})) {
- help(*STDERR);
+ help(*STDOUT);
exit(0);
}
if (exists($opts{'V'})) {
- version(*STDERR);
+ version(*STDOUT);
exit(0);
}
@@ -34,12 +58,12 @@ sub main
if ($#ARGV gt 0) {
error(4, "Cannot specify -o with multiple files\n");
}
- compile($ARGV[0], $opts{'o'});
+ compile($ARGV[0], $opts{'o'}, $opts{'D'}, $opts{'I'});
} else {
for $input (@ARGV) {
$output = $input;
$output =~ s/\.[^.]+$/.html/;
- compile($input, $output);
+ compile($input, $output, $opts{'D'}, $opts{'I'});
}
}
}
@@ -57,9 +81,11 @@ sub help
usage($fh);
print("Options:\n");
- print(" -o