Perl 编程/关键字/printf
外观
该printf函数等效于print FILEHANDLE sprintf(FORMAT, LIST). 与print唯一的区别是,输出记录分隔符,$\, 未附加。参数FORMAT和LIST被解析为一个单一列表,其中第一个参数被理解为格式信息。
如果省略列表,则$_的内容将被用作格式信息。要使用printf而没有printf, 需要一个真正的文件句柄,如FH,而不是一个间接文件句柄,如$fh。在这种情况下,如果$_包含格式信息,它将被替换为空字符串,并且如果启用,将发出警告。所以,最好使用print当$_的内容将被用作格式信息。
print比printf更简单,更不容易出错!
printf FILEHANDLE FORMAT, LIST
printf FILEHANDLE
printf FORMAT, LIST
printf
代码
$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);
返回文件“assign.pl”的内容
assign.pl, assign1.pl