Perl printf Function



This function prints the value of LIST interpreted via the format specified by FORMAT to the current output filehandle, or to the one specified by FILEHANDLE.

Effectively equivalent to print FILEHANDLE sprintf(FORMAT, LIST)

You can use print in place of printf if you do not require a specific output format. Following is the list of accepted formatting conversions.

S.No. Format & Result
1. %%

A percent sign

2. %c

A character with the given ASCII code

3. %s

A string

4. %d

A signed integer (decimal)

5. %u

An unsigned integer (decimal)

6. %o

An unsigned integer (octal)

7. %x

An unsigned integer (hexadecimal)

8. %X

An unsigned integer (hexadecimal using uppercase characters)

9. %e

A floating point number (scientific notation)

10. %E

A floating point number, uses E instead of e

11. %f

A floating point number (fixed decimal notation)

12. %g

A floating point number (%e or %f notation according to value size)

13. %G

A floating point number (as %g, but using .E. in place of .e. when appropriate)

14. %p

A pointer (prints the memory address of the value in hexadecimal)

15. %n

Stores the number of characters output so far into the next variable in the parameter list

Perl also supports flags that optionally adjust the output format. These are specified between the % and conversion letter. They are shown in the following table −

S.No. Flag & Result
1. space

Prefix positive number with a space

2. +

Prefix positive number with a plus sign

3. -

Left-justify within field

4. 0

Use zeros, not spaces, to right-justify

5. #

Prefix non-zero octal with .0. and hexadecimal with .0x.

6. number

Minimum field width

7. .number

Specify precision (number of digits after decimal point) for floating point numbers

8. l

Interpret integer as C-type .long. or .unsigned long.

9. h

Interpret integer as C-type .short. or .unsigned short.

10. V

Interpret integer as Perl.s standard integer type

11. v

Interpret the string as a series of integers and output as numbers separated by periods or by an arbitrary string extracted from the argument when the flag is preceded by *.


Following is the simple syntax for this function −



Return Value

This function


Following is the example code showing its basic usage −

#!/usr/bin/perl -w
printf "%d\n", 3.1415126;
printf "The cost is \$%6.2f\n",499;
printf "Perl's version is v%vd\n",%^V;
printf "%04d\n", 20;

When above code is executed, it produces the following result −

The cost is $499.00
Perl's version is v