#!/usr/bin/env perl # mod_cgi instance script for FileUploader::RequestForms module: use strict; use warnings; use lib ( '/home/raj/perl5/lib/perl5', '/home/raj/apps/FileUploader/lib', ); use FindBin qw($RealBin); # load AFTER local::lib Carp or FindBin loads system use lib $RealBin . '/../../lib'; # HILIS4 lib BEGIN { # capture centre var for lims_config.pl to load correct file path: use LIMS::Local::Utils; use FileUploader::Debug; use CGI qw(param); if ( my $tkn = param('tkn') ) { # DEBUG $tkn; my $key = LIMS::Local::Utils::today->ymd; # so url only valid on same day my $centre = LIMS::Local::Utils::decrypt($tkn, $key); $ENV{CENTRE} = $centre; } # env CENTRE var *must* exist or lims_config defaults to 'leeds': $ENV{CENTRE} ||= 'centre_null_invalid'; # causes config load failure so upload stops } # DEBUG \%ENV; #BEGIN { # don't use these with plack # Error handlers: # $SIG{__WARN__} = sub { require Carp; Carp::cluck(@_) }; # warnings with stack trace to log # use CGI::Carp qw(fatalsToBrowser); # use CGI::HTMLError trace => 1; # use CGI::Carp::DebugScreen; # $SIG{__WARN__} = sub { CORE::die(@_) }; # use Carp::Always; # $SIG{ __DIE__ } = sub { Carp::confess( @_ ) }; #} #============================================================================== # ErrorHandler's global $SIG{__DIE__} causes problems in File::stat in Perl 5.14 use File::stat (); # <= so call it *before* FileUploader::ErrorHandler use FileUploader::ErrorHandler; # or better still - replace with plack middleware #============================================================================== use FileUploader::RequestForms; use Data::Dumper; my %args = ( PARAMS => { cfg_file => '/home/raj/apps/FileUploader/lib/config.pl', file_type => 'request_forms', }, ); FileUploader::RequestForms->new(%args)->run;