对于热衷于阅读perldoc文档的朋友,有时候一个perldoc文档会相当的长,在linux系统中翻屏阅读也许会有点厌烦,更着急的是有些地方非常的好,但是不能在系统中直接做笔记。我也是在苦于没有找到好的工具将perldoc格式转化为txt格式时才哭下决心写个工具来实现目的。

小工具的操作流程非常的简单,代码如下:

#!/bin/perl
# convert .pod to txt

#for example:
# first perldoc Dancer::Request > 1
# second cat -vE 1 > 2
# third run script pod2txt.pl 2


$^I=".bak";
while (<>) {
 LOOP: { if ( $_ =~ m{([A-Z]|[a-z]|[&\.\(,:/\)-])\^H\1}|| $_ =~ m/(_)\^H\1/ )
  {
  s/([A-Z]|[a-z]|[&\.\(,:\/\)-])\^H\1/${1}/g;
  s/(_)\^H\1/${1}/g;
  s/\$$//;
  next LOOP if m/\^H/;
  print;
  }
 elsif ( $_ =~ m/\_\^H/ )
  {
  s/\_\^H//g;
  s/\$$//;
  next LOOP if m/\^H/;
  print;
  }
 else
  {
  s/\$$//;
  print;
  }
}
}
close ;