Вы должны прочитать Справиться со Скопингом по MJD.
perldoc perlmod также было бы полезно прочитать.
Код из этого мира безобразен. Он попирает все виды пространств имен без беспокойства в мире только потому, что автор, кажется, думает, что $ author :: email - это круто.
Лучше было бы использовать хеш:
my %author = (
email => 'author@example.com',
...
);
Не нужно топтать всю таблицу символов.
У меня есть несколько Win32::OLE
примеров: http://www.unur.com/comp/, которые не являются произведениями искусства, но я считаю, что улучшения в этом стиле. См. Также Почему количество страниц в документе Word различается в Perl и Word VBA?
Я собираюсь разглагольствовать немного :
@pgm::runtime_args = @ARGV ;
Итак, мы отказываемся от стандартного массива @ARGV
, который попирает пространство имен pgm
. Мало того, каждый программист на Perl знает, что такое @ARGV
. В любом случае @pgm::runtime_args
больше не используется в скрипте.
$pgm::maxargs = $#pgm::runtime_args + 1 ;
Конечно, @pgm::runtime_args
в скалярном контексте даст нам количество элементов в этом массиве. Я понятия не имею, почему $pgm::maxargs
может понадобиться, но если бы это было так, то эта строка должна была бы быть:
$pgm::maxargs = @pgm::runtime_args;
Я не собираюсь цитировать больше этого материала. Я думаю, это то, что происходит, когда программисты на Cobol пытаются писать на Perl.
$program::copyright = "Copyright (c) 02002 - Kenneth Tomiak : All rights reserved.";
Я рад, что он выделил пять цифр за год. Я никогда не знаю!
PS: Я считаю, что мои выдержки представляют собой добросовестное использование.