输入文本文件的每一行都有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次,我该怎么办?
答案 0 :(得分:4)
pack
takes a list of values,当您尝试在单个变量中为其赋予多个值时。首先在空白处拆分。
然后您可以使用*
修饰符接受任意数量的浮点数:
pack "f*", split(' ',$line);