Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Perl / Для начинающих /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Конструкции языка PERL - Программирование от RIN.RU
Конструкции языка PERL



Генерация динамических выражений с помощью функции EVAL


Поскольку Perl является интерпретируемым языком, ваши скрипты могут использовать Perl для того, чтобы генерировать код <налету>, то есть динамически, во время исполнения скрипта. Именно так работает отладчик Perl (который сам является Perl-программой с именем Perldb.PL). Проектируя скрипты, вы можете использоватьтакой динамический код для создания динамических переменных имен или даже построения специальных подпрограмм. Perl оценивает динамические выражения, используя функцию eval. В следующем примере создается динамическая инструкция путем присвоения переменной в качестве значения текста, который, собственно, и содержит требуемую инструкцию языка Perl. Дальнейшие инструкции используют функцию eval для того, чтобы выполнить эту инструкцию:


$perl_statement = "print "Hello, world\n";";
eval $perl_statement; # выведет Hello, world
$i = 1001;
$varname = "$i";
print eval $varname; # выведет значение $i


Примечание: Использование скриптом функции eval таит в себе опасности, в особенности, если скрипт передает функции eval данные, полученные от пользователя. Используя функцию eval, скрипт может выполнить произвольную команду языка Perl, включая даже системные команды. Это дает возможность пользователю контролировать программу, что может быть особенно рискованным для сетей Internet и Web.






<<<  Назад
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Синтаксис

Использование отладчика PERL

Типы данных в PERL

Переменные

Операторы PERL

Подпрограммы

Обработка строк

Обработка списков

Работа с массивами

Функции обработки ассоциативных массивов

Файловый ввод и вывод

Обработка бинарных данных

Работа с каталогами

Форматированный вывод

Регулярные выражения

CGI-скрипты при помощи PERL

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь