pka
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Цитата: все просто, ясно, но нефига не понятно | Вначале скрипт берет строку из стандартного ввода и сует в переменную $_ (так по умолчанию). Строка # chomp($_); - это комментарий, но если убрать # из начала строки, то эта команда будеть обрезать символы переноса строки, если они есть, в конце строкового значения, хранящегося в $_ (часто очень полезная штука). Потом первый if проверяет, начинается ли значение, хранящееся в $_ на 05 или 07. Если нет, то строка отправляется "в сад", а если да, то начинает работать второй if. Он проверяет, совпадают ли 3 символа, находящиеся по смещению 88 в значении переменной $_ со значением 643. Если нет - строка идет "в сад", если да, то начинает работать третий if. Он проверяет, отличаются ли 3 символа по смещению 73 от 3-х символов по смещению 88 в переменной $_. Если отличаются, то строка печатается в стандартный поток вывода. Поначалы непонятности бывают оттого, что в реальном коде операции с $_ пишутся упрощенно. Т.е. строку Цитата: можно записать if ($_ =~ m/^05/ or $_ =~ m/^07/), но так длиннее |