sub functionname
{
my $string_param = shift;
my $other_string_param = shift;
my @array_param = @_ ; #-- the remnant after the first two are assigned
#-- do edit check here, throw error
#-- do rest of sub function
}
####
sub functionname
{
my ( $string_param, $other_string_param, @array_param ) = @_;
#-- do edit check here, throw error
#-- do rest of sub function
}
##
##
sub functionname
{
my $string_param = shift;
my $array_ref = shift;
my @array = @{$array_ref};
my $other_string_param = shift;
#-- do edit check here, throw error
#-- do rest of sub function
}
#-- call as:
sub functionname( $string_param, \@array_param, $other_string_param);