#!perl use warnings; use strict; use CGI; use CGI::Carp qw(fatalsToBrowser); use Data::Dumper; use File::Basename; my $global_array_ref = ['vorher']; my $cgi = CGI->new(\&hook, $global_array_ref, 0); push @$global_array_ref, 'nachher'; sub hook { my (undef, undef, undef, $array_ref) = @_; my $path = dirname($0) . '/cgi_hook_test.txt'; open (my $OUTFILE, '>', $path) || die qq(File not writable: "$path"!); print $OUTFILE "global array:\n" . Dumper($global_array_ref); print $OUTFILE "given array:\n" . Dumper($array_ref); close $OUTFILE; } print $cgi->header(); print $cgi->start_multipart_form(); print $cgi->filefield('uploaded_file'); print $cgi->submit('button', 'und ab'); print $cgi->end_form();