in reply to Data::Dumper and printf

For starters, printf is NOT a slide-in substitute for print.

C:\>perldoc -f printf printf FILEHANDLE FORMAT, LIST printf FILEHANDLE printf FORMAT, LIST printf Equivalent to "print FILEHANDLE sprintf(FORMAT, LIST)", ex +cept that $\ (the output record separator) is not appended. The + first argument of the list will be interpreted as the "printf" f +ormat. See "sprintf" for an explanation of the format argument. I +f you omit the LIST, $_ is used; to use FILEHANDLE without a LIS +T, you must use a real filehandle like "FH", not an indirect one +like $fh. If "use locale" is in effect and POSIX::setlocale() h +as been called, the character used for the decimal separator +in formatted floating-point numbers is affected by the LC_NUM +ERIC locale setting. See perllocale and POSIX. Don't fall into the trap of using a "printf" when a simple "print" would do. The "print" is more efficient and less e +rror prone.