lo leggo e lo scrivo bene.
Ho visto... è un metodo di programmazione piuttosto arcaico, lo testimonia anche l'incompatibilità con use strict e l'uso di local.
Comunqe ti basta fare:
use strict;
my %simple_form;
&parse_form_data (*simple_form);
ma forse è ancora meglio:
&parse_form_data(\%simple_form);
sub parse_form_data {
my ($FORM_DATA) = @_;
....
if (defined($FORM_DATA->{$key})) {
$FORM_DATA->{$key} = join ("\0", $FORM_DATA->{$key}, $value);
} else {
$FORM_DATA->{$key} = $value;
}
}
il "*" serve a rappresentare il referenziamento di tutte le variabili denominate "simple_form", quindi:
$simple_form
@simple_form
%simple_form
&simple_form
<simple_form> # handler
e non vedo perchè in questo caso sia utile.