П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 177568 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 74891 раз(а).

Учебник HTML.
Просмотров 73672 раз(а).

Руководство по PHP5.
Просмотров 44583 раз(а).

Хостинг через призму DNS.
Просмотров 51348 раз(а).

Подборка текстов стандартных документов.
Просмотров 44709 раз(а).

Учебник PHP - Самоучитель
Просмотров 50959 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 51393 раз(а).

Внешние атаки...
Просмотров 41619 раз(а).

Учебник PHP.
Просмотров 36900 раз(а).

SSI в примерах.
Просмотров 27636 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 8: Функции.
8.7 Создаваемые операцией my() переменные файлового уровня

Операцию my() можно также использовать на внешнем уровне программы, вне всех подпрограмм и блоков. Хотя в результате не будет получена "локальная" переменная в описанном выше смысле, это может оказаться достаточно полезным, особенно при использовании в сочетании с Реrl-прагмой*

use strict;

* Прагма — это директива компилятора. Среди этих директив — директивы задания целочисленных арифметических операций, перегрузки числовых операций, запрашивания дополнительных текстовых предупреждений и сообщений об ошибках. Эти директивы описаны в главе 7 книги Programming Perl и на man-странице perlmodlib(l).

Если поставить эту прагму в начало файла, то вы больше не сможете использовать переменные (скалярные, массивы и хеши), сначала не "объявив" их. Объявляются они с помощью операции my() следующим образом:

use strict;
my $а; # сначала значение undef 
my @b = qw(fred barney betty); # присвоить начальное значение
push @b, qw(wilma); # разве можно забыть про Вильму?
@с = sort @b; # HE КОМПИЛИРУЕТСЯ

Во время компиляции последний оператор будет помечен флагом ошибки, потому что он обратился к переменной, не объявленной ранее с помощью операции my (т.е. @с). Другими словами, ваша программа даже не начнет работать до тех пор, пока не будут объявлены все используемые переменные.

Преимущества принудительного объявления переменных таковы:

  1. Ваши программы будут работать несколько быстрее (обращение к переменным, созданным с помощью my, производится несколько быстрее, чем к обычным переменным).*
  2. Гораздо быстрее будут выявляться ошибки набора, потому что вы больше не сможете случайно обратиться к несуществующей переменной $freed, когда вам будет нужна переменная $fred. По этой причине многие программысты, пишущие на Perl, автоматически начинают каждую новую программу прагмой use strict.

* "Обычная переменная" в этом случае — переменная пакета (поэтому $х — это, по сути дела, $main:: х). Переменные, созданные с помощью my (), ни в один пакет не входят.

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru