Perl Cd Bookshelf [Electronic resources]

نسخه متنی -صفحه : 875/ 33
نمايش فراداده

4.10. Appending One Array to Another

4.10.1. Problem

You want to join two arrays by appending all elements of one to the other.

4.10.2. Solution

Use push:

# push push(@ARRAY1, @ARRAY2);

4.10.3. Discussion

The push function is optimized for appending a list to the end of an array. You can take advantage of Perl's list flattening to join two arrays, but this results in significantly more copying than push:

@ARRAY1 = (@ARRAY1, @ARRAY2);

Here's an example of push in action:

@members = ("Time", "Flies"); @initiates = ("An", "Arrow"); push(@members, @initiates); # @members is now ("Time", "Flies", "An", "Arrow")

To insert the elements of one array into the middle of another, use the splice function:

splice(@members, 2, 0, "Like", @initiates); print "@members\n"; splice(@members, 0, 1, "Fruit"); splice(@members, -2, 2, "A", "Banana"); print "@members\n";

This is the output:

Time Flies Like An Arrow Fruit Flies Like A Banana

4.10.4. See Also

The splice and push functions in perlfunc(1) and Chapter 29 of Programming Perl; the "List Values and Arrays" section of Chapter 2 of Programming Perl; the "List Value Constructors" section of perldata(1)


4.9. Computing Union, Intersection, or Difference of Unique Lists4.11. Reversing an Array


Copyright © 2003 O'Reilly & Associates. All rights reserved.