Копирование встроенной документации perl в текстовый файл - PullRequest
0 голосов
/ 30 сентября 2018

Я хочу скопировать документацию по perl, встроенную в perl 5.28, в текстовый файл.Я пытаюсь сделать это следующим образом:

  my $file =  "D:/perldoc.txt";
  open(my $fh , '>',$file) or die "file not found" ;
  print  $fh "perl doc\n";

  #perldoc perldoc;                   NOT HELPING
  #$fh = perldoc perldoc;             NOT HELPING

  close $fh; 
  print "done\n";                                                           

Метод, который я пытаюсь использовать, неверен. Пожалуйста, исправьте меня.

1 Ответ

0 голосов
/ 30 сентября 2018

См. https://perldoc.pl/perlop#qx/STRING/, чтобы узнать, как запустить команду и записать ее вывод в Perl.Но другой вариант в этом случае - использовать модули напрямую.

First Pod :: Simple :: Search , чтобы найти perldoc:

use Pod::Simple::Search;
my $path = Pod::Simple::Search->find('perldoc'); # or the name of the module/documentation you want to read

Затем Pod :: Simple :: Text для преобразования его в текст:

use Pod::Simple::Text;
my $parser = Pod::Simple::Text->new;
$parser->output_string(\my $text);
$parser->parse_file($path);

Наконец, File :: Slurper или Path :: Tiny для записитекст после любых изменений.

use File::Slurper 'write_text';
my $outfile = 'perldoc.txt';
write_text($outfile, $text);

-или-

use Path::Tiny;
my $outfile = 'perldoc.txt';
path($outfile)->spew_utf8($text);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...