Mir ist es ehrlich gesagt zu müßig, auf die Nummer einzugehen. Ausnahme:
Interessant wird es jedoch serverseitig. So ist das Parsen eines FormData-Body sehr CPU-lastig und speicherfressend, je nachdem wie der Parser arbeitet. Je nach Parser werden auch temporäre Dateien angelegt die ein Sicherheitsrisiko darstellen können.
my @names = $self->param('name');
while( my($i, $len) = each @lens){
my $name = $names[$i];
$fh->open( "d:/tmp/$name", O_CREAT|O_BINARY|O_TRUNC|O_RDWR ) or die $!;
}
Sieht mir schwer nach Sicherheitsrisiko aus. Außer, Du machst vorher eine nicht weiter erwähnte Magie auf $self->param('name'). Solltest Du dann aber dazuschreiben. So ist das eine böse Lücke und keine gute Empfehlung.