#!/usr/bin/perl use CGI; my $q = CGI->new(\&hook, 'some arbitrary data', 0); print $q->header(); form_page(); my $header_printed = 0; sub hook { print "Content-type: text/plain\n\n" unless $header_printed; $header_printed = 1; my ($filename, $buffer, $bytes_read, $data) = @_; print "Read $bytes_read bytes of $filename\n"; print "My \$data = $data\n"; print "Buffer length: " . length($buffer) . "\n"; print $buffer . "\n"; } sub form_page { print $q->start_html(); print $q->start_multipart_form(); print $q->filefield( -name=>'uploaded_file', -default=>'x', -size=>50, -maxlength=>80); print $q->submit; print $q->end_form; print $q->end_html; }