0

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

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

我正在使用 Perlpack函数,如下所示

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

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

4

1 回答 1

4

pack接受 values 列表,而您试图在单个变量中为其提供多个值。首先在空白处拆分。

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

pack "f*", split(' ',$line);
于 2013-04-12T10:39:32.830 回答