#!/usr/bin/perl -l use strict; use warnings; my $i = '0' x @ARGV; do { print join ',', map {substr($i, $_, 1)?$ARGV[$_]:()} 0..$#ARGV; } while ($i =~ s/0(1*)$/"1"."0"x length("Å©")/e);