diff --git a/bin/jor b/bin/jor new file mode 100755 index 0000000..51c93f6 --- /dev/null +++ b/bin/jor @@ -0,0 +1,156 @@ +#!/usr/bin/env perl + +use strict; +use Getopt::Long; +use Pod::Usage; + +my $help = 0; +my $script; +my $nop = 0; +my $print_vars; +my $cmd_file = ""; +my @args; +my %more_vars; + +my $opt = GetOptions ( + 'help|?|h' => \$help, + 'f|file=s' => \$cmd_file, + 'n' => \$nop, + 'd=s' => \%more_vars, + 'print-vars' => \$print_vars, + '<>' => sub { push @args, shift; }) + or pod2usage(-exitstatus => 1, -verbose => 99, -sections => "SYNOPSIS|OPTIONS"); +pod2usage(-exitstatus => 0, -verbose => 2, -noperldoc => 1) if $help; + +my @more_args = @ARGV; + +our %vars = (); +foreach my $k (keys %more_vars) +{ + $vars{lc($k)} = $more_vars{$k}; +} + +if ($print_vars) +{ + foreach my $k (keys %vars) + { + print "$k\t$vars{$k}\n"; + } + exit(0); +} + +$script = shift(@args); +die "No script specified. Aborting.\n" if ! $script; +die "Script $script not found.\n" if ! -f $script; + +my $c; + +open SCRIPT, "<$script" or die "Cannot open script $script\n"; +while (