Perl - Как сканировать каталог, анализировать каждый файл в каталоге и извлекать все комментарии в HTML-файл - PullRequest
0 голосов
/ 06 апреля 2011

Мне нужна серьезная помощь, я новичок в perl и мне нужна помощь по созданию сценария perl, который будет запрашивать у пользователя каталог, содержащий файлы perl, анализировать каждый файл в этом каталоге и затем извлекать все комментарии из каждогофайл для отдельных файлов HTML.

примеров кода или существующих модулей, которые уже делают это, было бы замечательно.

Спасибо!

Ответы [ 3 ]

1 голос
/ 06 апреля 2011

PPI может использоваться для анализа файлов кода Perl.Это должно помочь вам начать получать файлы Perl в каталоге (при условии, что они имеют расширения .pl) и получать комментарии.Я не уверен, что вы имеете в виду в части HTML:

use warnings;
use strict;
use PPI;

my $dir = shift;
for my $file (glob "$dir/*.pl") {
    my $doc = PPI::Document->new($file);
    for my $com (@{ $doc->find('PPI::Token::Comment') }) {
        print $com->{content};
    }
}

Обновление: посмотрите на HTML :: Template (но это может быть излишним).

0 голосов
/ 06 апреля 2011

Если у вас есть выбор, вот скрипт Ruby

#!/usr/bin/env ruby 
print "Enter directory: "
directory=File.join(gets.chomp,"*.pl")
directory="/home/yhlee/test/ruby/*.pl"
c=0
Dir[directory].each do |file|
    c+=1
    o = File.open("file_#{c}.html","w")
    File.open(file).each do |line|
        if line[/#/]
            o.write ( line.scan(/;*\s+(#.*)$/)[0].first + "\n" ) if line[/;*\s+#/]
            o.write ( line.scan(/^\s+(#.*)$/)[0].first + "\n") if line[/^\s+#/]
        end
    end
    o.close
end
0 голосов
/ 06 апреля 2011

Простой поиск в cpan с ключевым словом "dir" привел к целому ряду полезных модулей. Один из тех, что я часто использую:

IO :: Dir

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...