我正在解析一些数据并组织它,现在我需要在变量中捕获它.
在此之前我从未使用过printf或sprintf.
我以这样的方式使用printf来组织数据:
printf("%-30s %18s %18s\n", "$a", "$b", "$c\n");
Run Code Online (Sandbox Code Playgroud)
现在我有一个存储字符串的变量,我想将有组织的数据附加到变量$ result.
我试过类似的东西
$result.printf("%-30s %18s %18s\n", "$a", "$b", "$c\n");
Run Code Online (Sandbox Code Playgroud)
它不起作用.我也试过sprintf.
有任何想法吗?
谢谢,S
printf
将构造的字符串输出到指定的句柄(如果省略则输出当前的默认值)并返回一个布尔值,指示是否发生IO错误.没有用.sprintf
返回构造的字符串,所以你想要这个.
要连接两个字符串(一个到另一个),一个使用.
运算符(或join
)
$result . sprintf(...)
Run Code Online (Sandbox Code Playgroud)
但你说这不起作用.据推测,这是因为您还希望将生成的字符串存储在$result
其中,您可以使用它
$result = $result . sprintf(...);
Run Code Online (Sandbox Code Playgroud)
或者更短
$result .= sprintf(...);
Run Code Online (Sandbox Code Playgroud)
不知道“也尝试过 sprintf”是什么意思,因为如果你做得正确的话,它没有理由不起作用。虽然你展示的语法看起来不太像 perl,而更像 python 或 ruby?
my $foo = sprintf("%-30s %18s %18s\n", "$a", "$b", "$c\n");
$result .= $foo;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7457 次 |
最近记录: |