POD to the rescue
where did you look?
perldoc -f printf
printf FILEHANDLE FORMAT, LIST
printf FORMAT, LIST
Equivalent to "print FILEHANDLE sprintf(FORMAT, LIST)", ex
+cept
that "$\" (the output record separator) is not appended. T
+he
first argument of the list will be interpreted as the "pri
+ntf"
format. If "use locale" is in effect, the character used f
+or the
decimal point in formatted real numbers is affected by the
LC_NUMERIC locale. See the perllocale manpage.
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.
perldoc perllocale
Category LC_NUMERIC: Numeric Formatting
In the scope of use locale, Perl obeys the LC_NUMERIC locale informati
+on, which controls an application's idea of how numbers should be for
+matted for human readability by the printf(), sprintf(), and write()
+functions. String-to-numeric conversion by the POSIX::strtod() functi
+on is also affected. In most implementations the only effect is to ch
+ange the character used for the decimal point--perhaps from '.' to ',
+'. These functions aren't aware of such niceties as thousands separat
+ion and so on. (See The localeconv function if you care about these t
+hings.)
Output produced by print() is also affected by the current locale: it
+depends on whether use locale or no locale is in effect, and correspo
+nds to what you'd get from printf() in the ``C'' locale. The same is
+true for Perl's internal conversions between numeric and string forma
+ts:
use POSIX qw(strtod);
use locale;
$n = 5/2; # Assign numeric 2.5 to $n
$a = " $n"; # Locale-dependent conversion to string
print "half five is $n\n"; # Locale-dependent output
printf "half five is %g\n", $n; # Locale-dependent output
print "DECIMAL POINT IS COMMA\n"
if $n == (strtod("2,5"))[0]; # Locale-dependent conversion
___crazyinsomniac_______________________________________
Disclaimer: Don't blame. It came from inside the void
perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;" |