$a = "1167354687","3546879867321","735246;
1 while $a =~ s/(.*\d)(\d\d\d)/$1,$2/;

配列の最初の部分しか出力されないのですがどうしたらよいでしょう?