≡ Menu

Perl sprintf: How Do I Use sprintf In a Perl Script?

How do I use sprintf() function in a perl script under Linux or UNIX?

Perl printf() function is used to format and print data on screen. You need to use sprintf() to print or store formatted data/string to a variable or to a string. Perl does its own sprintf formatting--it emulates the C function sprintf, but it doesn't use it (except for floating-point numbers, and even then only the standard modifiers are allowed). As a result, any non-standard extensions in your local sprintf are not available from Perl.

Perl printf() Example

The following statement will round number to 2 digits after decimal point, enter:

perl -e '$num=53535.35353535;printf ("Result = %.2f\n",$num);'

Perl sprintf() Example

Type the following at the shell prompt:

perl -e '$num=53535.35353535;$result=sprintf("Result = %.2f\n",$num);print "$result"'

To store output to a string or variable called $result you need to use the sprintf().

$result = sprintf("%.2f", $num);
$now=sprintf("Today is ".`date`);
print "$result\n";
print "$now\n";

Recommend readings:

  1. See perl sprintf() documentation for supported conversions, format parameter, flags etc.
Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 3 comments… add one }

  • Peko April 6, 2009, 2:53 pm

    Hi Vivek nixCraft Wizard,
    Thanks for your work.

    I think there are two bugs.
    Shouldn’t “print” instructions be :
    print “$result\n”;
    print “$now\n”;

    instead of using double backslash ?
    /* that’s what work on my system *:

    — Peko

    • dg June 17, 2011, 5:42 pm

      He probably tried to escape it so it showed up right on the website, but you are correct there should only be one backslash for the newline escape character.

Leave a Comment