package Foo; use strict; use Data::Dumper; sub list_params { my ( $self, cgi ) = @_; my %formdata; defined($cgi) && ref($cgi) && $cgi->isa('CGI') or return 0; foreach my $key ( $cgi->param ) { $formdata{ $key } = _format_vals( [ $cgi->param( $key ) ] ); } Dumper( \%formdata ); }