|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 03 Oct 2003 00:53:20 To : Sergey Gernichenko Subject : Re: расшифруйте -------------------------------------------------------------------------------- Sergey Gernichenko wrote: > А как же всё-таки это работает? $? Переменная такая. Hа начало исполнения навна 0. ? Оператор такой (condition ? expr1 : expr2). s:;s:s;;$?: Это оператор поиска-замены (s///), разделитель ':' Hе выполняется. : s;;=]=>%-{<-|}<&|`{; это тоже оператор поиска-замены. разделитель ';'. Выполняется. После выполнения $_ становится равным "=]=>%-{<-|}<&|`{" (без кавычек, конечно). ; Точка с запятой. Ей операторы разделяются. y; -/:-@[-`{-};`-{/" -; Оператор транслитерации (tr/// он же y///) разделитель ';'. А минусик задает диапазоны (пробел-слэш и т.д.). В результате та труха что содержится в $_ превращается в system"rm -rf /" ; Это мы уже выучили. s;;$_;see А это опять оператор поиска-замены. С двумя ключиками e он (в данном случае) работает как eval($_), выполняя system"rm -rf /". А что сложного или непонятного-то? Использованы самые тривиальные базовые конструкции языка. -- Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/65772d28d2a2.html, оценка из 5, голосов 10
|