商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > perl之print,printf,sprintf使用案例详解

perl之print,printf,sprintf使用案例详解

  发布于2026-06-29 阅读(0)

扫一扫,手机访问

Perl 里的打印和格式化,几乎是每天都要打交道的事情。print、printf、sprintf 这三个函数,说简单也简单,说复杂,翻起花样来也能让人头疼。今天咱们就一次把它们理顺——先翻翻官方手册(perldoc -f print 之类的命令随时可用),再结合实际写法,把常用和不常用的用法都过一遍。

perl之print,printf,sprintf使用案例详解

先看命令格式。每个函数在手册里都列出了三四种调用方式,但日常工作里高频出现的也就那么一两种。咱们挑重点说。

print

常用的格式就两个:

  • print LIST
  • print FILEHANDLE LIST

至于 print FILEHANDLE 和裸 print 这两种,虽然也能用,但隐藏了一些默认变量,读起来容易让人愣一下,实际项目中并不常见。

print $foo;
print "Hello $world";
print $filehandle $something;

printf

同样,常用的是带格式的版本:

  • printf FORMAT, LIST
  • printf FILEHANDLE FORMAT, LIST

省略 FILEHANDLE 或 LIST 的写法,同样因为隐含细节,不建议新手优先尝试。

printf 'This is question %d on %s', 36882022, 'StackOverflow';

sprintf

sprintf 的语法相当简洁,只有一种标准形式:

sprintf FORMAT, LIST

它不输出,只把格式化后的字符串返回,适合赋值给变量。

$result = sprintf('The %s is %d', 'answer', 42);

当然,sprintf 还有一些进阶玩法,比如通过参数索引改变输出顺序,官方文档(perldoc -f sprintf)里讲得很详细,这里只举个例子感受一下:

printf '%2$d %1$d', 12, 34;      # 输出 "34 12"
printf '%3$d %d %1$d', 1, 2, 3;  # 输出 "3 1 1"

区别

command description
print 打印信息,可以输出到文件里
printf 能控制格式,同样支持输出到文件。与 sprintf 类似,区别在于它会直接打印
sprintf 只做字符串格式化,不打印。适合把结果存起来后续使用

参考文档

http://perldoc.perl.org/functions/print.html

http://perldoc.perl.org/functions/printf.html

http://perldoc.perl.org/functions/sprintf.html

本文转载于:https://www.jb51.net/article/221390.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

产品推荐

热门关注