Perl - 在写入文件之前格式化文本数据

时间:2012-07-01 17:46:11

标签: perl text format

我在一个文件中写数据。该文件将如下所示。

[section1] [section2] [section3]
[section1] [section2] [section3]

我没有直接将数据写入文件。 我首先在字符串中追加行,然后写入文件。

$str .= "section1_data  section2_data   section3_data\n";
$str .= "section1_more_data   section2_more_data   section3_more_data\n";

现在我想要的是所有部分应该是30个字符长。 所有部分内的数据总是小于或等于30个字符。

有没有办法在perl中执行此操作?

我使用以下语法写入文件

open FH,">>filename";
print FH $str;
close FH;

1 个答案:

答案 0 :(得分:5)

$str .= sprintf("[%-30s] [%-30s] [%-30s]\n",
    $section1_data,
    $section2_data,
    $section3_data,
);