How can I output my numbers with commas added?

This one from Benjamin Goldberg will do it for you:

   s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g;
or written verbosely:

   s/(
       ^[-+]?            # beginning of number.
       \d{1,3}?          # first digits before first comma
       (?=               # followed by, (but not included in the match) :
          (?>(?:\d{3})+) # some positive multiple of three digits.
          (?!\d)         # an *exact* multiple, not x * 3 + 1 or whatever.
       )
      |                  # or:
       \G\d{3}           # after the last group, get three digits
       (?=\d)            # but they have to have more digits after them.
   )/$1,/xg;

Back to perlfaq5