use List::Util qw[ reduce ]; my $ff=1; print reduce{ $a .= ( ( $ff ^= 1 ) ? '&' : '=' ) . $b } qw(name John number 7 status unknown);; name=John&number=7&status=unknown