мой скрипт генерирует очень очень большие файлы, и я пытаюсь распечатать/сохранить вывод в двоичном формате, чтобы максимально уменьшить размер файла!печать и сохранение данных в двоичном формате в perl
каждый раз, когда скрипт генерирует 5 значений, например:
$a1 = 1.64729
$a2 = 4.33329
$a3 = 3.55724
$a4 = 1.45759
$a5 = 7.474700
Он печатает на выходе, как:
A:1.64729,4.33329,3.55724,1.45759,7.474700
Я не уверен, является ли это лучший способ, но я думал, чтобы упаковать каждая строка при печати на выходе! Я использовал встроенную функцию pack/unpack в perl!
Я взглянул на perldoc, но не понял, какие форматированные спецификации являются правильными (???)!
#!/usr/bin/perl
...
@A = ($a1,$a2,$a3,$a4,$a5);
print pack ("???", ("A:",join(",", map { sprintf "%.1f", $_ } @A)),"\n";
Вы, вероятно, лучше всего используете сжатие всего файла. вы можете сжать его, пока вы его пишете, и расстегните его, когда вы его прочитаете, если это необходимо. насколько велика «очень огромная»? – ysth
1000 файлов, каждый сжатый файл 1.7 G – EpiMan