|
|
| version 1.112, 2003/04/15 07:17:42 | version 1.118, 2003/10/21 05:11:00 |
|---|---|
| Line 92 Xне сделано, видимо, не будет сделано | Line 92 Xне сделано, видимо, не будет сделано |
| default as-is | default as-is |
| !^taint[[lang]][код] | !^taint[[lang]][код] |
| default "just tainted, language unknown" | default "just tainted, language unknown" |
| !^process[[$caller.CLASS|$object|$КЛАСС:CLASS]]{строка, которая будет process-ed, как код} | !^process[[$caller.CLASS|$object|$КЛАСС:CLASS]]{строка, которая будет process-ed, как код}[во что переименовать @main] |
| !^process..[путь][во что переименовать @main] | |
| по умолчанию, методы компилируются в $self [в случае оператора, $self=$MAIN:CLASS] | по умолчанию, методы компилируются в $self [в случае оператора, $self=$MAIN:CLASS] |
| !^connect[protocol://строка соединения]]{код с ^sql[...]-ями} | !^connect[protocol://строка соединения]]{код с ^sql[...]-ями} |
| !mysql://user:pass@{host[:port]|[/unix/socket]}/database? | !mysql://user:pass@{host[:port]|[/unix/socket]}/database? |
| Line 271 odbc c:\drives\y\parser3project\odbc\ | Line 272 odbc c:\drives\y\parser3project\odbc\ |
| s singleline = $ считается концом всего текста | s singleline = $ считается концом всего текста |
| m multiline = $ считается концом строки[\n], не концом всего текста | m multiline = $ считается концом строки[\n], не концом всего текста |
| g найти все вхождения, а не одно | g найти все вхождения, а не одно |
| ' создавать столбцы prematch, match, postmatch | |
| !^строка.match[шаблон][опции поиска]{замена} | !^строка.match[шаблон][опции поиска]{замена} |
| опции поиска+= | опции поиска+= |
| g заменить все вхождения, а не одно | g заменить все вхождения, а не одно |
| Line 384 odbc c:\drives\y\parser3project\odbc\ | Line 386 odbc c:\drives\y\parser3project\odbc\ |
| !cookie | !cookie |
| !$cookie:имя считать старое или свежезаданное | !$cookie:имя считать старое или свежезаданное |
| !$cookie:имя[значение] на 90 дней | !$cookie:имя[значение] на 90 дней |
| !$cookie:имя[$.value[значение] $.expires(дней, 0дней=session)] | !$cookie:имя[$.value[значение] $.expires ЗНАЧЕНИЕ ] |
| !значение поля expires может быть 'session', date, или число дней(0дней=session) | |
| ! если дата, она будет преобразована к формату "Sun, 25-Aug-2002 12:03:45 GMT" | |
| !request | !request |
| !$request:query | !$request:query |
| Line 653 Xhashfile | Line 657 Xhashfile |
| !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif | !/some/page.html: ^file:fullpath[a.gif] => /some/a.gif |
| math | !math |
| !$math:PI | !$math:PI |
| !^math:round floor ceiling | !^math:round floor ceiling |
| !^math:trunc frac | !^math:trunc frac |
| Line 663 math | Line 667 math |
| !^math:degrees radians | !^math:degrees radians |
| !^math:pow sqrt | !^math:pow sqrt |
| !^math:random(ширина диапазона) | !^math:random(ширина диапазона) |
| ^math:GUID {C2C0983C-E26E-4169-BD07-77ECE9405BA5} | !^math:uuid[] |
| 22C0983C-E26E-4169-BD07-77ECE9405BA5 | |
| win32: пользуется cryptapi | |
| unix: пользуется /dev/urandom, | |
| если нет, /dev/random, | |
| если нет, rand | |
| [на solaris /dev/random можно добавить] | |
| !^math:uid64[] | |
| BA39BAB6340BE370 | |
| !^math:md5[string] | !^math:md5[string] |
| выдает digest строки, длиной 16 байт в виде строки, | выдает digest строки, длиной 16 байт в виде строки, |
| где байты digest выданы в hex виде, впритык, в нижнем регистре | где байты digest выданы в hex виде, впритык, в нижнем регистре |
| Line 876 xdoc(xnode) | Line 888 xdoc(xnode) |
| attribute that is already inuse | attribute that is already inuse |
| elsewhere | elsewhere |
| !memory | |
| !^memory:compact[] собрать мусор, освободив место под новые данные | |
| (предупреждение: память процесса никогда не освобождается) | |
| полезно делать перед XSL transform. | |
| !status | !status |
| !чтобы класс был доступен, в apache нужно сказать | !чтобы класс был доступен, в apache нужно сказать |
| <Location /parser-status.html> | <Location /parser-status.html> |
| Line 912 xdoc(xnode) | Line 929 xdoc(xnode) |
| $s[$status:rusage] | $s[$status:rusage] |
| ^s.tv_sec.format[%.0f].^s.tv_usec.format[%06.0f] | ^s.tv_sec.format[%.0f].^s.tv_usec.format[%06.0f] |
| !$status:memory hash | |
| !used | |
| Includes some pages that were allocated but never written. | |
| !free | |
| !ever_allocated_since_compact | |
| Return the number of bytes allocated since the last collection. | |
| !ever_allocated_since_start | |
| Return the total number of bytes [EVER(c)PAF] allocated in this process. | |
| Never decreases. | |
| !DATA::=string | file | !DATA::=string | file |
| Line 956 xdoc(xnode) | Line 986 xdoc(xnode) |
| !по-умолчанию, получение http status != 200 >> создает http.status ошибку, | !по-умолчанию, получение http status != 200 >> создает http.status ошибку, |
| !это можно отключить, передав | !это можно отключить, передав |
| !$.any-status(1) | !$.any-status(1) |
| !file::load в дополнительные поля записывает ПОЛЕ:значение (имена полей ответа заглавными буквами) | !$.charset[кодировка удалённых докуметов по-умолчанию] << если сервер вернёт content-type:charset=ОНА_ПЕРЕБИВАЕТ |
| !file::load в дополнительные поля записывает | |
| !ПОЛЕ:значение (имена полей ответа заглавными буквами) | |
| !tables << хеш их ПОЛЕ->table с единственным столбцом "value". | |
| в таких таблицах можно брать повторяющиеся заголовки. например, несколько set-cookies | |
| todo:сделать отдельный cookies | |
| !системные типы ошибок: | !системные типы ошибок: |
| !parser.compile ^test[} компиляция (непарная скобка, ...) | !parser.compile ^test[} компиляция (непарная скобка, ...) |