sub zipD($$) { my( $a, $b ) = (my $o = length( $_[0] ) >= length( $_[1] ) ) ? @_[ 0, 1 ] : @_[ 1, 0 ]; substr( $a, $_*2+$o, 0, substr( $b, $_, 1 ) ) for 0 .. length( $b ) -1; return $a; }