On Wed, Mar 06, 2002 at 09:45:18AM -0800, Rich Morin wrote:
> With all of Larry's talk about making "x" mode the standard in REs and
> having more "pair-based" syntax here and there, I started thinking
> about a replacement for printf, as:
> 
>   printx(
>     'The value of $foo is %f7.3; ',  $foo,
>     'the value of $bar is %f7.3.%n', $bar
>   );
> 
>   printx(
>     'The values of $foo and $bar are %f7.3 and %f7.3, ', $foo, $bar,
>     'but the value of $baz is %f7.3%n', $baz
>   );

I like the idea, but wonder how to avoid problems that could arise with
things like,

$raise = "15%";
printx(
        'My raise was %s this year!', $raise
);

FWIW, C# has a format specification that looks like,
string somenums = String.Format("Some formatted numbers: dec={0,15:E} doub={1,20}", 
dec, doub);

...encoding the width, justification, type and format of the numbers.

http://msdn.microsoft.com/net/ecma/docs.zip -- look for the String class
and IFormattable interface. They seem pretty comprehensive, certainly a
superset of printf(2) and include some neat support for printing
currencies etc. Perhaps another discussion but certainly there's a lot
Perl could learn from C#...

Paul


-- 
Paul Makepeace ....................................... http://paulm.com/

"What is the reason where? Another chance to get an ice cream."
   -- http://paulm.com/toys/surrealism/

Reply via email to