fork download
  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4.  
  5. my $n = 25;
  6. my $m = 16;
  7.  
  8. my $a = [ 0..$n-1 ]; # create list reference
  9.  
  10. sub foo {
  11. my ($aref, @idx) = @_; # unpack sub arguments
  12. foreach my $i ( @idx ) {
  13. $aref->[$i] = 42; # dereference element using ->
  14. }
  15. }
  16.  
  17. my @subarray; # create list
  18. for ( my $i=0; $i < $m; $i += 2 ) {
  19. push @subarray, $a->[$i]; # dereference element using ->
  20. }
  21.  
  22. foo($a, @subarray); # pass list reference and list
  23.  
  24. print join ', ', @{ $a }; # dereference list using @{ }
  25.  
Success #stdin #stdout 0.01s 5468KB
stdin
Standard input is empty
stdout
42, 1, 42, 3, 42, 5, 42, 7, 42, 9, 42, 11, 42, 13, 42, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24