411 REFERENCE · Wikibooks
Perl Programming/Keywords/printf
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Perl print prototype Keywords
The printf keyword
The printf function is equivalent to print FILEHANDLE sprintf(FORMAT, LIST). The only difference to print is that the output record separator, $\, is not appended. The parametres FORMAT and LIST are parsed as a single list, where fhe first argument is understood as the format information.
If the list is omitted, the contents of $_ is used as format information. To use the printf without a printf, a real filehandler like FH and not an indirect filehandler like $fh is required. In this case, if $_ contains formatting information, it will be replaced by an empty string and a warning will be emitted, if they are enabled. So, it's better to use print when the contents of $_ are to be used as formatting information.
print is simpler and less errorprone than printfǃ
Syntax
printf FILEHANDLE FORMAT, LIST
printf FILEHANDLE
printf FORMAT, LIST
printf
Examples
The code
$dotextension = ".pl";
$filename = "assign" . $dotextension;
$filename2 = "assign1" . $dotextension;
print $filename . ", " . $filename2 . "\n";
open(my $fh, "<", $filename)
or die "cannot open < " . $filename . ": $!";
open(my $fh2, ">", $filename2)
or die "cannot open < " . $filename2 . ": $!";
read $fh, $f, 1024;
printf($fh2 "%s, ", $f); # Writes contents into $filename2
close($fh);
close($fh2);
returns the contents of the file "assign.pl": assign.pl, assign1.pl
See also
print
sprintf
Perl print prototype Keywords