note
Anonymous Monk
<p> You forgot how [mod://CGI]::Vars works, [href://https://metacpan.org/module/CGI::Struct#Auto-arrays] doesn't account for it
<p><c>
#!/usr/bin/perl --
use strict; use warnings;
use Data::Dump;
use CGI;
use CGI::Struct;
my $q = CGI->new('row[]=row;row[]=row;row[]=row;row[]=your boat');
my %qVars = $q->Vars;
my @errors;
my $struct = build_cgi_struct \%qVars, \@errors;
dd $q, \%qVars, $struct, \@errors;
### WORKAROUND for stupid Vars (must've written this line 100 times)
%qVars = map { $_ => [ $q->param($_) ] } $q->param;
dd \%qVars;
$struct = build_cgi_struct \%qVars, \@errors;
dd $struct, \@errors;
__END__
(
bless({
".charset" => "ISO-8859-1",
".fieldnames" => {},
".iterator" => 2,
".parameters" => ["row[]"],
"escape" => 1,
"param" => { "row[]" => ["row", "row", "row", "your boat"] },
"use_tempfile" => 1,
}, "CGI"),
{ "row[]" => "row\0row\0row\0your boat" },
{ row => ["row\0row\0row\0your boat"] },
[],
)
{ "row[]" => ["row", "row", "row", "your boat"] }
({ row => ["row", "row", "row", "your boat"] }, [])
</c>
872768
874177
0