in reply to Re: Re: $#="%c"; possible bug
in thread $#="%c"; possible bug

ord('k') is 107 so it should print 107
Uhm, no.
the first statement should not effect it.
Yes, it should. To quote myself: Setting $# sets the output format for printed numbers. 107 is still a number in my book.

From man perlvar:

$# The output format for printed numbers. This vari­ able is a half-hearted attempt to emulate awk's OFMT variable. There are times, however, when awk and Perl have differing notions of what counts as numeric. The initial value is "%.ng", where n is the value of the macro DBL_DIG from your system's float.h. This is different from awk's default OFMT setting of "%.6g", so you need to set $# explicitly to get awk's value. (Mnemonic: # is the number sign.) Use of $# is deprecated.

Is $# really broken for eons? Where's that from?
Yes it is. Your code is proof.

Abigail

Replies are listed 'Best First'.
Re: Re: $#="%c"; possible bug
by ambrus (Abbot) on Feb 21, 2004 at 00:26 UTC

    Good point. Now I see. I somehow thought $# only affects floating-point values. It seems that I didn't read the doc carefully enough.

    And it seems that $# uses the system's builtin sprintf, not perl's.