修改Perl脚本以每20个字输出一行

Jas*_*son 1 perl text-processing

我正在使用开源perl脚本来创建基于英语维基百科转储的文本语料库.已经提取了纯文本,但是仍然需要删除各种标点符号等.但是,此脚本的输出实际上创建了一个包含单行的7.2GiB文本文件.由于我的需要,我想改变脚本,使其每20个字插入一个新的行字符.

到目前为止,我试过这个:

$wordCount=0;

while (<STDIN>) {
  $wordCount++;

  //text processing regex commands here


  # Remove ellipses 
  s/\.\.\./ /g;

  # Remove dashes surrounded by spaces (e.g. phrase - phrase)
  s/\s-+\s/ /g;

  # Remove dashes between words with no spaces (e.g. word--word)
  s/([A-Za-z0-9])\-\-([A-Za-z0-9])/$1 $2/g;

  # Remove dash at a word end (e.g. three- to five-year)
  s/(\w)-\s/$1 /g;

  # Remove some punctuation
  s/([\"\?,;:%???!()\[\]{}<>_\.])/ /g;

  # Remove trailing space
  s/ $//;

  # Remove double single-quotes 
  s/'' / /g;
  s/ ''/ /g;

  # Replace accented e with normal e for consistency with the CMU pronunciation dictionary
  s/?/e/g;

  # Remove single quotes used as quotation marks (e.g. some 'phrase in quotes')
  s/\s'([\w\s]+[\w])'\s/ $1 /g;

  # Remove double spaces
  s/  / /g;


  chomp($_);

  if ($wordCount == 20){
    print uc($_) . "\n";
    $wordCount=0;
  }

  print uc($_) . " ";
}

print "\n";
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用,因为原始输出只有任意分散的新线.我希望将文本格式化,以便它适合典型的1200px宽显示器而不需要自动换行.

来自文件的示例输入文本是

简明牛津政治词典.无政府主义的支持者(称为"无政府主义者")主张无国籍社会是社会组织的唯一道德形式.无政府主义有许多类型和传统,并非所有类型和传统都是相互排斥的.无政府主义作为一种社会运动经常受到人气的波动.无政府主义一词来源于希腊语anναρχος,anarchos,意思是"没有统治者",它作为同义词的使用在美国以外仍然很常见.最早的无政府主义主题可以在公元前6世纪,在道家哲学家老子的作品中,以及在庄子和包景岩的后几个世纪中找到.1642年,在英国内战期间,"无政府主义者"一词首次进入英语,作为虐待期,由保皇党人使用,反对他们的圆头对手.到法国大革命时期,一些人,比如恩拉格斯,开始积极地使用这个词,反对雅各宾的权力集中,将"革命政府"视为矛盾.到了19世纪初,英语单词"无政府主义"已经失去了最初的负面含义.现代无政府主义源于启蒙运动的世俗或宗教思想,特别是让 - 雅克卢梭关于自由道德中心性的论证.无政府主义",Encarta Online Encyclopedia 2006(英国版).在这种气候下,威廉·戈德温发展了许多人认为现代无政府主义思想的第一个表达方式.根据彼得·克罗波特金的观点,戈德温是第一个提出无政府主义政治和经济概念的人,尽管他没有将这个名字赋予他的作品中的观点",但戈德温将他的无政府主义思想与早期的埃德蒙伯克联系起来.无政府共产主义者约瑟夫·德雅克是第一个将自己形容为"自由主义者"的人.与蒲鲁东不同.他认为,"工人有权利,但满足自己的需要,不论其性质如何,这不是他或她的劳动的产物.耶稣有时被认为是基督教无政府主义传统中的第一个无政府主义者.Georges Lechartier写道:"无政府状态的真正创始人是耶稣基督和.在欧洲,1848年的革命之后出现了严厉的反应,在此期间,十个国家经历了短暂或长期的社会动荡,因为这些国家实施了民族起义.这些系统性变革的尝试以失败告终,保守派利用分裂的社会主义者,无政府主义者,自由主义者和国家主义者,以防止进一步的反抗.布朗奎斯特,费城,英国工会会员,社会主义者和社会民主党人.对于积极的工人运动,国际成为一个重要的组织.卡尔马克思成为国际的领导人物和总理事会成员.蒲鲁东的追随者,共产主义者,反对马克思的国家社会主义,主张政治弃权和小财产. 1868年,他们未能成功参加和平与自由联盟(LPF),俄罗斯革命 y Mikhail Bakunin和他的集体主义无政府主义者协会加入了First International(决定不参与LPF).起初,集体主义者与马克思主义者合作,将第一国际推向更具革命性的社会主义方向.随后,国际两极分化为两个阵营,以马克思和巴枯宁为各自的傀儡.1872年,冲突达到高潮,海牙国会两组之间最终分裂,巴枯宁和詹姆斯纪尧姆被驱逐出国际,其总部被转移到纽约.作为回应,联邦主义部门在圣伊米尔大会上组建了自己的国际组织,采用革命的无政府主义计划.Black Rose Books 2005)ISBN 1-55164-251-4.

文件中有7个值得发布的文本.因此,使用列表或其他数据结构可能对这些要求有点过分.

需要什么才能满足我的要求?