浮动序列的包模板是什么?

时间:2013-04-12 09:42:02

标签: perl binaryfiles binary-data

输入文本文件的每一行都有N个浮点数。我正在尝试将它们转换为二进制格式(四字节浮点数序列)。

来自输入的示例行:-12.391 -5.301 -12.854 0.438 8.499 4.862 -2.481 3.962

我正在使用Perl pack功能,如下所示

foreach my $line (@inputData) {
    print $outFileHandle pack('fxfxfxfx... N times', $line);
}

而不是写fx次N次,我该怎么办?

1 个答案:

答案 0 :(得分:4)

pack takes a list of values,当您尝试在单个变量中为其赋予多个值时。首先在空白处拆分。

然后您可以使用*修饰符接受任意数量的浮点数:

pack "f*", split(' ',$line);