in reply to Yet Another CGI File Upload Question

You don't have to refer to $main::q. You have a ref to the object that works fine across packages.

package Foo; use CGI; my $q = CGI->new(); # file upload (read from STDIN occurs at this poi +nt Bar::do_stuff(\$q); package Bar; sub do_stuff { my $q_ref = shift; my $uf = $$q_ref->upload(.....

In fact the object contains most of the data, everything except the actual file contents. The file contents are stored in a temp file the moment you call new() and the $q or whatever object just contains a pointer to it. The upload() method simply looks in the $q object to find out where the file is, what it is called, opens a FH on it and gives it back to you....

cheers

tachyon

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