Funzione printf di Perl

Descrizione

Questa funzione stampa il valore di LIST interpretato tramite il formato specificato da FORMAT nel filehandle di output corrente, o in quello specificato da FILEHANDLE.

Efficacemente equivalente a print FILEHANDLE sprintf (FORMAT, LIST)

È possibile utilizzare print al posto di printf se non si richiede un formato di output specifico. Di seguito è riportato l'elenco delle conversioni di formattazione accettate.

Sr.No. Formato e risultato
1

%%

Un segno di percentuale

2

%c

Un carattere con il codice ASCII fornito

3

%s

Una stringa

4

%d

Un numero intero con segno (decimale)

5

%u

Un numero intero senza segno (decimale)

6

%o

Un numero intero senza segno (ottale)

7

%x

Un numero intero senza segno (esadecimale)

8

%X

Un numero intero senza segno (esadecimale che utilizza caratteri maiuscoli)

9

%e

Un numero in virgola mobile (notazione scientifica)

10

%E

Un numero in virgola mobile, usa E invece di e

11

%f

Un numero in virgola mobile (notazione decimale fissa)

12

%g

Un numero in virgola mobile (notazione% e o% f in base alla dimensione del valore)

13

%G

Un numero in virgola mobile (come% g, ma utilizzando .E. Al posto di .e. Quando appropriato)

14

%p

Un puntatore (stampa l'indirizzo di memoria del valore in esadecimale)

15

%n

Memorizza il numero di caratteri emessi fino a quel momento nella variabile successiva nell'elenco dei parametri

Perl supporta anche flag che facoltativamente regolano il formato di output. Questi sono specificati tra la% e la lettera di conversione. Sono mostrati nella tabella seguente:

Sr.No. Flag e risultato
1

space

Prefisso il numero positivo con uno spazio

2

+

Prefisso il numero positivo con un segno più

3

-

Giustifica a sinistra all'interno del campo

4

0

Usa zeri, non spazi, per giustificare a destra

5

#

Prefisso ottale diverso da zero con .0. ed esadecimale con .0x.

6

number

Larghezza minima del campo

7

.number

Specificare la precisione (numero di cifre dopo il punto decimale) per i numeri in virgola mobile

8

l

Interpreta il numero intero come .long di tipo C. o .unsigned long.

9

h

Interpreta il numero intero come .short di tipo C. o .non firmato breve.

10

V

Interpreta integer come tipo intero standard di Perl.s

11

v

Interpreta la stringa come una serie di numeri interi e l'output come numeri separati da punti o da una stringa arbitraria estratta dall'argomento quando il flag è preceduto da *.

Sintassi

Di seguito è riportata la semplice sintassi per questa funzione:

printf FILEHANDLE FORMAT, LIST

printf FORMAT, LIST

Valore di ritorno

Questa funzione

Esempio

Di seguito è riportato il codice di esempio che mostra il suo utilizzo di base:

#!/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;

Quando viene eseguito il codice sopra, produce il seguente risultato:

3
The cost is $499.00
Perl's version is v
0020