26 марта 2010, 12:46
Задача — из 001e8c15ffbc сделать 00:1e:8c:15:ff:bc Решение — perl -le 'my $x = «001e8c15ffbc»;$x =~ s/(...(?!\Z))/\1:/g; print $x' Разберем по кусочкам этот примитив. (...(?!\Z))/\1: ... — два любых символа (можно написать длиннее, если сомневаемся, что к нам придёт именно мак) — например, [a-f\d]{2} (?!\Z) — заглянем вперёд — нет ли там конца строки. Если есть — не попадаем в условие и, соответственно, […]
23 марта 2010, 12:48
Удаляем все элементы, которые не цифры. Работаем с референсом. #!/usr/bin/perl use strict; use Data::Dumper; my $a = [234235,'a',345,34234,23121]; $a = [grep {/^\d+$/ } @$a]; print Dumper $a; UPD Rommeech заметил багу, исправил
19 марта 2010, 15:32
<? print_r ($_POST); ?> <form method="POST"> <input name="через пробел"> <input type="submit"> </form> Как вы думаете, что выведет print_r? Array ( [через пробел] => ) ? А вот и нифига! Он выведет Array ( [через_пробел] => )
15 марта 2010, 17:43
Весь мозг себе сьел. Перенёс сайт на сервер. На предыдущем хостинге было всё ок — открывался как надо, все дела. На новой же системе — постоянный header UTF-8, хоть ты тресни. Я бы и рад конечно UTF — но HostCMS пока что поддерживает только Win1251 — так что стал копать.
12 марта 2010, 13:37
Собственно, уже не мудрствуя лукаво — кто хоть немного знает перл — разберётся. Вконтакте добавили редиректики, что не помешает доблестному Curl через них пройти и получить куку в файл. #!/usr/bin/perl -w use strict; use WWW::Curl::Easy; use Carp;
12 марта 2010, 13:27
Таскаю за собой по всем модулям и скриптам. sub getURL { my $params = shift; croak q[HASH needed as param] if ref ($params) ne 'HASH'; croak q[HREF needed in HASH] if (!exists ($params->{href})); $params->{href} = q[http://].$params->{href} if $params->{href} !~ /^http (s)?:\/\//; $params->{headers} = 0 if !$params->{headers}; $params->{ag} = qq ($user_agents[rand(($#user_agents+1))]) if !exists $params->{ag}; $params->{timeout} = […]
9 марта 2010, 17:31
Навеяно SE и паранойей тамошнего ТС к ддос через F5 :DDD <script type="text/javascript"> document.onkeydown = KeyCheck; function KeyCheck (e) { var KeyID = (window.event) ? event.keyCode : e.keyCode; if (KeyID == 116){ return false; } } </script>