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} = 20 if !exists $params->{timeout};
$params->{content_length} = 600000000 if !exists [...]
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>