for my $upload ($req->upload('file[]')) {
$upload->filename;
}
You can also call @uploads = $req->uploads->get_all('file[]')
to get multiple values.
See perldoc Plack::Request
(and Hash::MultiValue
) for more details.
The reason you don't see them in Data::Dumper is that Hash::MultiValue uses a technique called inside-out object, to save alternate values for a given key.