[comp.lang.perl] Stupid perl question

klr@decuac.dec.com (Kurt Reisler -- UNISIG Chairman) (07/01/91)

I am sure this has been asked before (therefore, it is a stupid
question", but if I want to print out a percentage mark in a printf
statement (as in printf "% changed"), what is the best (note, no
reference to "proper", because I know better) to do it?  Oh yes, I am
still using version 3.0 PL44 (I think).

Thanks in advance

Tom Christiansen <tchrist@convex.COM> (07/01/91)

From the keyboard of klr@decuac.dec.com (Kurt Reisler -- UNISIG Chairman):
:I am sure this has been asked before (therefore, it is a stupid
:question", but if I want to print out a percentage mark in a printf
:statement (as in printf "% changed"), what is the best (note, no
:reference to "proper", because I know better) to do it?  Oh yes, I am
:still using version 3.0 PL44 (I think).

First, don't call printf if you don't need to.  

    print "% changed";

works just fine.  

Also, be very wary of the common error of:

    $foo = <STDIN>;
    printf "you said $foo";  

because what if they had a % in their string?  Try !?%silly
in the csh for a good time (but not from your login shell. :-).

Finally, if you really want to use a literal %, it's as in C,
you double it:

    printf "%% has changed %5d times", $count;

--tom
--
Tom Christiansen		tchrist@convex.com	convex!tchrist
		"So much mail, so little time."  

klr@decuac.dec.com (Kurt Reisler -- UNISIG Chairman) (07/01/91)

Thanks to all who replied.  It was truely a simple solution, "%%".  It
was too obvious to be obvious :-)