in reply to Joining an array
So, "why?" /me said to myself, "Why can't Perl chew on this?"
my $i = 0; my $str = "$arr[$i]=$arr[++$i]" x($#arr/2);or this?
my $i = 0; my $str = "$arr[$i]=$arr[++$i]" x($#arr/2) . "&";Now, of course the first snippet left the question of inserting the ampersands un-resolved, but that's OK, because Perl wants an int after the x operator and 5/2 isn't likely to ever be an int. Then, the second suffers the same defect ... and inserts the ampersand only AFTER printing the second name=John; a 'gotcha' for this nutty idea that I don't see a way around (in this approach).
But, the idea perked on, leading to this, just because TIMTOWTDI:
#!/usr/bin/perl use strict; use warnings; use 5.014; # desired: name=John&number=7&status=unknown my @arr = qw(name John number 7 status unknown); my $i = 0; my $str = "$arr[$i]=$arr[++$i]"; $str .= "&$arr[++$i]=$arr[++$i]"; $str .= "&" . "$arr[++$i]=$arr[++$i]"; say $str;
Output? As specified.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Joining an array
by tangent (Parson) on Feb 11, 2012 at 02:06 UTC | |
by ww (Archbishop) on Feb 11, 2012 at 02:50 UTC | |
by tangent (Parson) on Feb 11, 2012 at 19:04 UTC |