Section 9.3. The join Function


9.3. The join Function

The join function doesn't use patterns but performs the opposite function of split: split breaks up a string into a number of pieces, and join glues together a bunch of pieces to make a single string. The join function looks like this:

     my $result = join $glue, @pieces;

The first argument to join is the glue, which may be any string. The remaining arguments are a list of pieces. join puts the glue string between the pieces and returns the resulting string:

     my $x = join ":", 4, 6, 8, 10, 12;  # $x is "4:6:8:10:12"

In that example, we had five items, so there are only four colons or four pieces of glue. The glue shows up only between the pieces, never before or after them. So, there will be one fewer piece of glue than the number of items in the list.

This means there may be no glue at all if the list doesn't have at least two elements:

     my $y = join "foo", "bar";       # gives just "bar", since no fooglue is needed     my @empty;                       # empty array     my $empty = join "baz", @empty;  # no items, so it's an empty string

Using $x from above, we can break up a string and put it back together with a different delimiter:

     my @values = split /:/, $x;  # @values is (4, 6, 8, 10, 12)     my $z = join "-", @values;   # $z is "4-6-8-10-12"

Though split and join work well together, don't forget that the first argument to join is always a string, not a pattern.



Learning Perl
Learning Perl, 5th Edition
ISBN: 0596520107
EAN: 2147483647
Year: 2003
Pages: 232

Similar book on Amazon

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net