Ho scoperto il secondo problema.

----------------------------------------
invece di:
my $stringainterna = @_;
----------------------------------------
bisogna mettere:
my ($stringainterna) = @_;
oppure
my $stringainterna = shift;
oppure
my $stringainterna = @_[0];
----------------------------------------