Оператор возвращает булевое значение (истина/ложь) и отвечает на вопрос «определен ли объект?» Проверяемым объектом может любой объект Parser: таблица, строка, файл, объект пользовательского класса и т.д.
def объект
не определенными (не def) считаются пустая строка, пустая таблица, пустой хеш и код.
Пример
$str[Это определенная строка]
^if(def $str){
Строка определена
}{
Строка не определена
}
Важно: для проверки «содержит ли переменная код» и «определен ли метод» используйте оператор is, а не def.
Замечание: хеш, содержащий только значение по умолчанию, считается определенным [3.4.5].