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.
In reply to Re: Joining an array
by ww
in thread Joining an array
by tangent
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |