Perl中sprintf
和printf
之间有什么区别?
我真的对这些功能感到困惑。
我知道printf
。它用于STDOUT
,但我想深入了解这些函数。
答案 0 :(得分:9)
sprintf
只返回一个格式化字符串,printf
将其打印到文件句柄。
printf HANDLE "%s", $arg
可以(非常冗余地)写成
$formatted = sprintf "%s", $arg
print HANDLE $formatted
当然,这个具体的例子最自然地写成
print HANDLE $arg
因为我用于示例的格式字符串非常简单而无用。
当然,HANDLE是可选的,默认为STDOUT,但您也可以使用select
更改默认值。