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

Ano*_*eek 2 format perl text

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

[section1] [section2] [section3]
[section1] [section2] [section3]
Run Code Online (Sandbox Code Playgroud)

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

$str .= "section1_data  section2_data   section3_data\n";
$str .= "section1_more_data   section2_more_data   section3_more_data\n";
Run Code Online (Sandbox Code Playgroud)

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

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

我使用以下语法写入文件

open FH,">>filename";
print FH $str;
close FH;
Run Code Online (Sandbox Code Playgroud)

ike*_*ami 5

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