#!/usr/bin/perl -- use strict; use warnings; local $\ = $/; my @f = qw(name John number 7 status unknown); print do { my $i = -2; join q/&/, map { $i += 2; join q/=/, $f[$i], $f[ $i + 1 ] } 0 ..( $#f / 2 ); }; print join q/&/, map { $_ % 2 ? () : join q/=/, $f[$_], $f[ $_ + 1 ] } 0 .. $#f; print join q/&/, map { $_ % 2 ? () : join q/=/, $f[$_], $f[ $_ + 1 ] } 0 .. $#f; __END__ name=John&number=7&status=unknown name=John&number=7&status=unknown name=John&number=7&status=unknown