Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Arrays: A Tutorial/Reference

by jdporter (Canon)
on Jan 27, 2009 at 19:08 UTC ( #739305=perltutorial: print w/ replies, xml ) Need Help??

Help for this page

Select Code to Download


  1. or download this
    @array = ( 1, 2, 3 );
    @array = function_generating_a_list();
    @array = @another_array;
    
  2. or download this
    @array = ( 'a', 'b', 'c' );
    
  3. or download this
    @array = ();
    
  4. or download this
    @array = 0;
    # and
    @array = ( 0 );
    
  5. or download this
    $count = @array;
    
  6. or download this
    print "# Elements: " . @array . "\n";
    
  7. or download this
    print "# Elements: ", scalar(@array), "\n";
    
  8. or download this
    $highest_index = $#array;
    
  9. or download this
    foreach ( 0 .. $#array ) {
      # $_ is set to each index number, in turn, from first (0) to last ($
    +#array)
    }
    
  10. or download this
    print "Here are your things: ", @array, "\n";
    
  11. or download this
    foreach ( @array ) { ...
    
  12. or download this
    $x = @array;
    @x = @array;
    
  13. or download this
    @array = ( 'a', 'b', 'c' );
    $x = pop @array;
    
  14. or download this
    push @array, 8, 10 .. 15;
    
  15. or download this
    @array = ( 'a', 'b', 'c' );
    $x = shift @array;
    
  16. or download this
    @array = ( 1, 2 );
    unshift @array, 'y', 'z';
    
  17. or download this
    $first_elem = $array[0];
    
  18. or download this
    $array[ $#array ] += 5;
    
  19. or download this
    ( $first, $third, $fifth ) = @array[0,2,4];
    
  20. or download this
    $n = @array[0..$#array];
    
  21. or download this
    @array[1..3] = ( 'x', 'y', 'z' );
    
  22. or download this
    $array[ -1 ]
    $array[ $#array ]
    
  23. or download this
    @array[ 0 .. $#array ]
    
  24. or download this
    @array[ 0 .. -1 ]
    
  25. or download this
    unshift @a, @b;
    # could be written as
    splice  @a, 0, 0, @b;
    
  26. or download this
    push @a, @b;
    # could be written as
    splice @a, $#a+1, 0, @b; # we have to index to a position PAST the end
    + of array!
    
  27. or download this
    $b = shift @a;
    # could be written as
    $b = splice  @a, 0, 1;
    
  28. or download this
    $b = pop @a;
    # could be written as
    $b = splice  @a, -1, 1;
    
  29. or download this
    @b = splice @a, 2, 3;
    
  30. or download this
    splice @a, 2, 0, @b;
    
  31. or download this
    splice @a,         # array to modify
        3,             # starting with 4th item
        2,             # remove (replace) two items
        'x', 'y', 'z'; # arbitrary list of new values to insert
    
  32. or download this
    @a = ();
    # could be written as
    splice @a, 0;
    

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perltutorial [id://739305]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (11)
As of 2015-07-28 09:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (254 votes), past polls