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
In reply to Re: Yet Another CGI File Upload Question
by tachyon
in thread Yet Another CGI File Upload Question
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |