| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > конструкция |
| Автор: Bulat 15.11.2006, 15:21 | ||
Вообщем-то вопрос простой, однако, млин, чтот поискал в свем справочнике не нашел
конструкция какую функцию выполняет... вот "?" и ":" к чему? |
| Автор: Nab 15.11.2006, 17:29 |
| если $logins{"$address"} существует, то будет возвернут именно он, иначе ему будет присвоено значение и опять же он будет возвращен как результат. это упрощенная форма IF return ELSE return , очень удобна при простых проверках, и таких конструкциях. Конечно можно было бы написать: $logins{"$address"} ||= ... новое значение. Но такая конструкция проверяет истинность ключа, а не его существование, то есть если там будет 0 или пустая строка, она тоже выполниться, поэтому приходиться строить более сложное выражение. А вот $logins{"$address"} ||= ... и (defined $logins{"$address"})?($logins{"$address"}) в принципе эквивалентны... |