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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Глава 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