now --- lowercase all ops automatically checks shouldn't have to be under CGI::ValidOp::Check checks should be found locally on the filesystem decide: new({ -config param/op }) OR new({ config params/ops => { param/op } }) file upload ----------- use CGI qw/ -private_tempfiles /; - or - CGI::private_tempfiles(1);