cat <<'EOF' |
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
EOF
perl -wpe '1 while s/(\d+)(\d\d\d)/$1,$2/;'
produz:
13,407,807,929,942,597,099,574,024,998,205,846,127,479,365,820,592,393,377,723,561,443,721,764,030,073,546,976,801,874,298,166,903,427,690,031,858,186,486,050,853,753,882,811,946,569,946,433,649,006,084,096
Isto é conseguido dividindo a cadeia de dígitos em 2 grupos, o grupo da direita com 3 dígitos, o grupo da esquerda com o que quer que restar, mas pelo menos um dígito. Então tudo é substituído pelos dois grupos, separados por uma vírgula. Isso continua até que a substituição falhe. As opções "wpe" são para listagem de erros, coloque a instrução dentro de um loop com uma impressão automática e tome o próximo argumento como o "programa" perl (veja o comando perldoc perlrun para detalhes).
Felicidades ... felicidades, drl