I want to have a URL that **only when clicked** the CGI will be executed.
<a href=/myweb/cgi-bin/mycgi_long_running.cgi?name=param>Some Param</a
With a single click the CGI will perform the following tasks:
- Find the files related to the given parameters.
- Archive them (through system call)
- Start downloading for user
How to create the proper state for CGI script for that?
I have the following cgi script but failed:
use CGI::Carp qw(fatalsToBrowser);
use CGI qw/:standard/;
my $query = CGI->new();
my $file = "listoffiles_withdir.txt";
my $searchkey = param('name');
#untainting step skipped for briefness
# Begin searching terms and ignoring case
my @entries = `grep -i \"$searchkey\" $file`;
my $outf = 'tempfile.txt'; # output file name
open ( OUTFILE, '>>', $outf)
foreach my $file (@entries}
print OUTFILE "$file";
# This phase takes may take a long time to do
# many files involved
system("tar -cf out.tar -T $outf");
# Next step, I'm stuck as how
# to let the web automatically download
# when the archiving is complete
neversaint and everlastingly indebted.......