Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

How do you take the CGI output (in this case a sorted array)and post it to a local file instead of just returning it to the browser?

Replies are listed 'Best First'.
(jeffa) Re: Posting CGI Output to a local file
by jeffa (Bishop) on Sep 02, 2001 at 21:39 UTC
    Yes, just open up a filehandle and print the results to it instead . . . .BUT!

    There is a big catch - the user that owns the CGI process must be able to write the file, i.e., that process needs write permission on the directory in question.

    jeffa

Re: Posting CGI Output to a local file
by tachyon (Chancellor) on Sep 02, 2001 at 22:18 UTC
    my $file = "/this/file/path/does/not/exist"; my @array = qw( P e r l H a c k e r ); @array = sort @array; # check for errors writing file my $err_msg = to_file ( $file, @array ); # if $err_msg true add it to array push @array, $err_msg if $err_msg; to_browser( @array ); exit; sub to_file { my $file = shift; open FILE, ">$file" or return "\n<p>Failed to write file '$file'<b +r>\nReason: $!<br>\n"; print FILE @_; close FILE; return undef; } sub to_browser { print "Content-type: text/html\n\n"; print @_ }

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print