Джамбо, я не пытаюсь быть грубым, но, пожалуйста, прочитайте инструкцию.Я добавил ссылки на ваш вопрос.
Я предполагаю, что вы не читали документы, потому что не смогли их найти.Давайте рассмотрим эту проблему:
Как найти нужные документы
Онлайн:
search.cpan.org - это основной веб-сайт, используемый для поиска модулей CPAN и их документации.Здесь можно найти много вещей.
perldoc.perl.org имеет полную онлайн-документацию по отгрузке для нескольких последних версий Perl.
Командная строка:
perldoc
показывает оглавление, в котором перечислены различные разделы документации, которые вы можете просмотреть.
perldoc -f function
- это быстрый способ поиска perlfunc и просмотра информации только об одной функции.Это очень удобный краткий справочник.
perldoc Module::Name::Here
покажет вам документацию модуля.
perldoc perlpod
- пример чтениячасть документации, в данном случае статья о форматировании POD.
Что я читаю?
Все это здорово,а откуда ты знаешь где искать?Я имею в виду, что у меня есть вещь под названием «look_down», которую я использую.Где документы?
В этом случае вы можете видеть, что «look_down» всегда вызывается вот так $somevar->look_down(blarg)
.Найдите, откуда $somevar
.Что это за объект?В худшем случае вы обнаружили, что это результат какого-то другого вызова, теперь вам нужно найти документы для этого вызова и посмотреть, что возвращается.Но шаги одинаковы.Рекурсивно проталкивать.В конце концов вы получите my $tree = HTML::TreeBuilder->new_from_content()
или что-то в этом роде.Теперь вы можете читать документы new_from_content
в HTML :: TreeBuilder.Эй, мы получаем объект HTML :: Tree, который является подклассом HTML :: Element!Итак, мы проверяем оба класса.Ух, look_down в HTML :: Element.
Это немного сложнее, если у вас есть подпрограммы, импортированные из других модулей.Надеюсь, автор вашего кода был достаточно внимателен, чтобы явно указать, откуда берутся его подпрограммы:
use Some::Module qw( useful_sub confusing_sub );
Это означает, что useful_sub
и confusing_sub
взяты из Some::Module
;
Есливам не повезло, ваш автор написал только use Some::Module;
, что означает, что вы получаете все экспорты по умолчанию.Это означает, что вам нужно прочитать документы, чтобы узнать, что было импортировано.
Ради удобства обслуживания вы можете уменьшить этот кошмар, всегда указав точно, какие подпрограммы вы импортируете из функции.Если вы хотите импортировать НИЧТО, вы можете указать это как: use Some::Module ();
При поиске простых подимен, это помогает помнить, что они могут быть реальными функциями.Так что не забывайте искать perldoc.
В заключение, я надеюсь, что вы найдете это полезным.R-ing TFM - удивительно мощная техника, а изучение того, как найти соответствующие документы, - это скрытый навык, который раскрывает всю мощь.В Perl есть куча документов, и это может быть пугающим, если вы не знаете, где искать.