Khairul Azmi wrote:
Thanks for the solution. Not sure if this is still on topic but I then
add an additional parameter to the subroutine

sib func {
  my (@local_array, $local_value) = @_;

print "$local_value \n";
for my $array ( @local_array ) {
for my $element ( @$array ) {
print "$element ";
}
print "\n";
}
}
my $value = 5;
my @myarray = ( [ 1,2,3,4,5 ], [ 6,7,8,9,10 ] );
func( @myarray, $value );


But then the for loop would return one extra empty line. Does it has
to do with the additional parameter? What if the parameter is another
array? Another 2D array may be?

The problem is that Perl's subroutines pass all their arguments as a single list so in your case @local_array gets everything and $local_value gets nothing. You can reverse the order of the arguments or use a reference for the array.


perldoc perlsub


John -- use Perl; program fulfillment

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to