Является ли "local our" тем, что нужно использовать в объектных модулях под mod_perl2 или только в скриптах? - PullRequest
1 голос
/ 03 февраля 2009

Чтобы адаптировать ваши сценарии к mp2, избегая необходимости в каких-либо оболочках совместимости и т. Д., Говорят, что вы должны объявлять переменные, используя "local our" вместо "my". Как насчет модулей?

sub new
{
    local our $type = shift;
    local our $self = {};
    bless $self, $type;
}

Это правильно? Или это должно быть 'my', чтобы остальная часть модуля могла получить значение $ self в разделе 'use strict'?

Ответы [ 3 ]

5 голосов
/ 03 февраля 2009

local our - уродливая конструкция, которая в конечном итоге укусит вас.

Подробнее см. в Perlmonks.

1 голос
/ 03 февраля 2009

Вам определенно нужно my.

Совет local our относится к переменным, которые являются глобальными в вашем модуле.

0 голосов
/ 03 февраля 2009

Также $ self получается в методах как $ _ [0] (Perl автоматически добавляет к нему @_.)

...