my @s = (); local $" = '.'; @out = map { $#s=--$_; ++$s[$_]; "@s" } @a;