diff options
Diffstat (limited to 'lsmb.pl')
-rwxr-xr-x | lsmb.pl | 60 |
1 files changed, 32 insertions, 28 deletions
@@ -10,37 +10,41 @@ use warnings; use strict; use CGI::Carp qw(fatalsToBrowser); -sub cgi_handle { - my $self = shift; - - my $script = $ENV{PATH_INFO}; - - $script =~ s/^\///; - # TODO: we can parse out other information, such as - # Company Identifier, and what not here. - - #return $self->debug(); - - if($script =~ /\.pl$/) { - # perl scripts should be directly executed. - warn "[LedgerSMB::Handler] running $script"; - exec("./$script") or croak $!; - } else { - # redirect them back to the original url - - # infer the base URI, this fails unless the script is named lsmb.pl - my ($base_uri) = $ENV{SCRIPT_NAME} =~ m#^(.*?)/lsmb.pl#; - print "Status: 301\nLocation: $base_uri/$script\n\n"; - } +sub cgi_handle { + my $self = shift; + + my $script = $ENV{PATH_INFO}; + + $script =~ s/^\///; + + # TODO: we can parse out other information, such as + # Company Identifier, and what not here. + + #return $self->debug(); + + if ( $script =~ /\.pl$/ ) { + + # perl scripts should be directly executed. + warn "[LedgerSMB::Handler] running $script"; + exec("./$script") or croak $!; + } + else { + + # redirect them back to the original url + + # infer the base URI, this fails unless the script is named lsmb.pl + my ($base_uri) = $ENV{SCRIPT_NAME} =~ m#^(.*?)/lsmb.pl#; + print "Status: 301\nLocation: $base_uri/$script\n\n"; + } } -sub debug { - my $self = shift; +sub debug { + my $self = shift; - use Data::Dumper; - print "Content-type: text/plain\n\n"; - print "\$0 is $0\n"; - print Dumper(\%ENV); + use Data::Dumper; + print "Content-type: text/plain\n\n"; + print "\$0 is $0\n"; + print Dumper( \%ENV ); } |