Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何将大型多标记文件转换为HTML?_Perl_Map_Markdown - Fatal编程技术网

Perl 如何将大型多标记文件转换为HTML?

Perl 如何将大型多标记文件转换为HTML?,perl,map,markdown,Perl,Map,Markdown,我有一个大的(~4GB)文本文件,是用多重标记格式编写的,我想把它转换成HTML 我试过: use strict; use warnings; use File::Map qw (map_file); use Text::MultiMarkdown qw (markdown); my $filename = shift // die; map_file (my $text, $filename); print markdown($text); 但是它仍然会阻塞内存。您需要分块处理文件,确保

我有一个大的(~4GB)文本文件,是用多重标记格式编写的,我想把它转换成HTML

我试过:

use strict;
use warnings;

use File::Map qw (map_file);
use Text::MultiMarkdown qw (markdown);

my $filename = shift // die;
map_file (my $text, $filename);
print markdown($text);

但是它仍然会阻塞内存。

您需要分块处理文件,确保分块以可忽略的空白结尾(以免拆分列表和表等)

请提供有关文件结构和内容的更多信息,以帮助我们提供其他有用的指针。

我注意到,它可以容纳大约100 MB的内存。似乎可以容忍大约20MB。两者都不完全管理MMD降价扩展,但它们中的大多数都有自己的等价物


这不是这个计划的主要问题吗:您将使用什么来读取html?Chrome能够打开100 MB的文件,但却占用了大量内存,例如搜索或向下移动光标。也许你需要一个像Sinan这样的计划,但是一个为每个区块生成单独html文件的计划,以一个指向下一个文件的hyperref结尾….

出于好奇,系统有多少内存?我想你至少需要12GB才能按照自己的方式完成。值得注意的是,如果该文档包含多标记的任何功能,如参考书目和脚注,那么将这些部分重新组合在一起将涉及到它自己的挑战。