Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Что лучше использовать: local или my ?


Автор: Suppir 25.2.2011, 07:38
Что вы используете чаще: local или my для переменных?

Автор: vivu 25.2.2011, 08:34
my постоянно
local практически не использую

Автор: arto 25.2.2011, 08:35
они предоставляют разные возможности

# find /usr/lib/perl5 /usr/local/lib/perl5 -iname "*.pm" -print | xargs grep -P "\\W+local\\b" | wc -l
470
# find /usr/lib/perl5 /usr/local/lib/perl5 -iname "*.pm" -print | xargs grep -P "\\W+my\\b" | wc -l
8253

Автор: vadiml 25.2.2011, 10:09
Основное использование local -- перекрыть в блоке/функции внешную переменную  не только в этом блоке, но и последующих вызовах

Код

our $q = 1; 

print "$q\n"; # печатает 1

{
    my $q = 2;
    print "$q\n"; #2

    fn(); # печатает 1
}

{
    local $q = 2;

    print "$q\n"; # 2

    fn(); # 2
}


sub fn {
    print "$q\n";
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)