Leudwinus has asked for the wisdom of the Perl Monks concerning the following question:
Fellow Monks,
How do you get the length of an array that is passed by reference to a subroutine?
In the program below, I pass the array @test_array which contains [1, 2, 3], [4, 5, 6] by reference to a subroutine test_function.
The expected result is 2 but I keep getting the error Can't use string ("1") as an ARRAY ref while "strict refs" in use at line 12.
use warnings; use strict; use feature qw/ say /; use Data::Dumper; $Data::Dumper::Indent = 0; sub test_function { my $ref_array = @_; say Dumper (@_); # $VAR1 = [[1,2,3],[4,5,6]]; say scalar @{ $ref_array }; # line 12 } my @test_array = ([1, 2, 3], [4, 5, 6]); &test_function(\@test_array);
Gratias tibi ago
Leudwinus
Back to
Seekers of Perl Wisdom