>>Какие там затруднения у изучившего всю гору невнятной и разрозненной документации?
>
>man perl и остальные man perl*, описанные, кстати, в предыдущем, -- это
>очень разрозненно и невнятно. именно так. language reference в perl отсутствует де-факто.
>Так примеры будут или как всегда?
Пожалуйста.
perlsyn
"Every simple statement must be terminated with a semicolon, unless it is the final statement in a block, in which case the semicolon is optional."
Правило с исключением и исключением на исключение. Следом: "BLOCK if EXPR" и "if EXPR BLOCK". Короче, можно продолжать до бесконечности. Или и сейчас будем спорить, что все в perl-е однозначно, последовательно и логично?
>Я вот сейчас прочитал ещё раз, на всякий случай, man perlfunc и
>не обнаружил каких-либо исключений. Может, у меня не тот man perlfunc?
Нет, просто вы фанатично отстаиваете свой язык, не замечая очевидных проблем.
>Ну, если мы будем искать сферических коней в вакууме, то в итоге
>скатимся сначала к assembler'у, а потом опять вернёмся к c/c++, а
>всё остальное от лукавого.
Какие кони, какой вакуум? Perl далек от идеала, так что описывать его как идеальный газ крайне непрагматично.
>>Как инструмент чего?
>Для раскалывания орехов, видимо.
Годится.
>>Может, расскажете про наследование в этом вашем perl-e? Или,
>>например, про разделение прав доступа к полям класса?
>man perltoot
>man perltooc
"Some languages provide a formal syntactic interface to a class's methods, but Perl does not. It relies on you to read the documentation of each class."
То есть наследования в perl-е нет. Или начнете доказывать, что это хорошо и все ООП зиждется на знании реализации класса-родителя?
"it's generally considered rather poor form in most object modules. In an object module, you should set up a protective veil to separate interface from implementation. So provide a class method to access class data just as you provide object methods to access object data."
В 21 веке перл-программисты пишут геттеры\сеттеры для публичных членов класса, даже если никакой особой логики за этим нет. Правда, есть угрозы переписать это все в 6ой версии, которая все никак не родится.
>Дык о чём тогда спорим, и зачем спрашивать про наследование и доступ
>к свойствам?
Спрашивать затем, чтобы натолкнуть вас на рассмотрение проблемных мест языка. На которые вы закрываете глаза.
>>Замечательно. Включите, пожалуйста, подсветку кода и расскажите, что имелось ввиду здесь:
>>@isatype{@isatype} = (1) x @isatype;
>
>Ничего. Даже так: ничего хорошего. Пока не заменить фигурные скобки на квадратные.
>И даже если заменить, всё равно хорошего мало.
>Но теперь вы можете смело начинать рассказывать про use strict, а также
>свести оный к тем самым исключениям.
Лучше смело расскажу о том, что это строка из какого-то стандартного или CPAN-овского модуля. Но не об этом. Я хотел услышать объяснения по семантике этой строки.