如何在Perl中将文件输出内容合并为单行?
将Perl多行输出合并为单行的解决方案
很简单,你只需要调整print语句的写法,把分散的多行内容合并成一个整体输出就行。这里有两种实用的实现方式:
方式1:直接合并成单个print调用
把所有统计内容放在同一个print语句里,用你喜欢的分隔符(比如分号+空格)连接,最后只保留一个换行符:
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!"; print $fh "GIF files: \t$gif_nums(Number of files) file(s) $gif_sizes(File size) bytes; HTML files: \t$html_nums file(s) $html_sizes bytes; Total: $total_nums file(s) $total_sizes bytes\n"; close $fh;
方式2:先拼接字符串再打印
如果内容比较长,先把各个统计项拼接到一个变量里,最后一次性打印,可读性会更好:
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!"; my $output_str = "GIF files: \t$gif_nums(Number of files) file(s) $gif_sizes(File size) bytes; "; $output_str .= "HTML files: \t$html_nums file(s) $html_sizes bytes; "; $output_str .= "Total: $total_nums file(s) $total_sizes bytes\n"; print $fh $output_str; close $fh;
小提示
- 一定要注意分隔符的使用,比如上面用的分号加空格,能让各个统计项清晰区分,避免内容拥挤。
- 最后记得保留一个
\n换行符,确保输出的单行内容结束后有正确的换行,符合文本文件的格式要求。
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

