1 сентября 2010, 14:43
Взьярённый от нововведений ЖЖ, набросал махонький Greasemonkey-скрипт, чтобы комментарии по-прежнему отправлялись в стиле Write-Tab-Space-Style // Adding TabIndex to LJ Post button user script // version 0.1 BETA! // 2010-09-01 // Copyright (c) 2010, Andrew Jumashev // Released under the GPL license // http://www.gnu.org/copyleft/gpl.html // // ——————————————————————— // // This is a Greasemonkey user script. // […]
9 апреля 2010, 15:21
Суть проста — выгрести из Армори последние ачивы, проверить — не постили ли раньше, запостить в ЖЖ. Накидалось на коленке, я использую БД в расширенной версии скрипта — но решил и такой мелкий написать :) UPD — чёт ппц криво получился этот сниппет в опубликованном виде. Аттачу ссылку на оригинал. Plain-Text #!/usr/bin/perl -w use strict; use Digest::MD5 qw[md5_hex]; use WWW::Curl::Easy; […]
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) — заглянем вперёд — нет ли там конца строки. Если есть […]
19 марта 2010, 15:32
<? print_r($_POST); ?> <form method=»POST»> <input name=»через пробел»> <input type=»submit»> </form> Как вы думаете, что выведет print_r? Array ( [через пробел] => ) ? А вот и нифига! Он выведет Array ( [через_пробел] => ) Вот такая зашитая фича. Для пробелов и точек. Берется отсюда: В файле main/php_variables.c, php_register_variable_ex (92 строка для PHP 5.1.4): /* […]
11 февраля 2010, 14:34
Задача: массово переконвертить файлы с расширением .php из Windows-1251 в UTF-8. Итоговое решение: for a in `find /files_folder -type f -name "*.php"`; do iconv -f Windows-1251 -t UTF8 $a > /tmp/cp.file; cat /tmp/cp.file > $a; done; rm -rf /tmp/cp.file Ну не ппц ли. Тамошний xargs не поддерживает -i, -I и -J работают через пень-колоду, а […]
10 ноября 2009, 16:49
Хозяйке на заметку: Два+ пробела заменяются не так: perl -le ‘use Data::Dumper; my $x = «abc bca \n \t abc bca»; $x =~ s/\s{2,}/ /g; print Dumper $x’ $VAR1 = ‘abc bca abc bca’; Два+ пробела заменяются так: perl -le ‘use Data::Dumper; my $x = «abc bca \n \t abc bca»; $x =~ s/[[:blank:]]{2,}/ /g; […]
9 сентября 2009, 15:08
#! /usr/bin/perl -w use strict; use Socket; my $port = shift || 82; my $proto = getprotobyname(‘tcp’); socket(SERVER, PF_INET, SOCK_STREAM, $proto) or die «socket: $!»; setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die «setsock: $!»; my $paddr = sockaddr_in($port, INADDR_ANY); bind(SERVER, $paddr) or die «Failed bind: $!»; listen(SERVER, SOMAXCONN) or die «Failed listen: $!»; print «Daemon started […]
8 сентября 2009, 13:36
#!/usr/bin/perl -w use strict; use Term::ANSIColor; use Time::HiRes qw[usleep]; if(defined($ARGV[0]) && $ARGV[0]!~/^\d+$/){ print color ‘reset’; exit; } my $num = 2000; # сколько раз крутить my $strlen = 20; # длина строки my $length = 10000; # чем больше — тем дольше будет «вычисляться» строка $num = $ARGV[0] if $ARGV[0] =~ /^\d+$/; $strlen = $ARGV[1] […]
4 сентября 2009, 17:00
Для одной мерзкой цели потребовалось ходить в ЖЖ через HTTP — так удобней парсить некоторые вещи. Собственно, сниппет под катом. Пара слов о куках. Мне стало уже лениво писать под них лишние регулярки — но список их следующий: ljuniq ljmastersession ljloggedin BMLschemepref (схема кстати — кому хочется обратно dystopia — просто смените эту куку) langpref […]
2 сентября 2009, 11:23
#!/usr/bin/perl -w use strict; use Digest::MD5 qw(md5_hex); use WWW::Curl::Easy; use URI::Escape; use Carp qw[croak]; use Text::Iconv; my $twitter_login = q[skazkin]; my $twitter_password = q[]; my $vkontakte_login = q[e@mail]; my $vkontakte_password = q[]; my $tmp_file = q[/tmp/v2t.tmp]; my $converter = Text::Iconv->new(q[windows-1251], qq[UTF8]); my $check_hash = q[]; if(-e $tmp_file){ open FF, qq[ q[http://vkontakte.ru/login.php], referer => q[http://vkontakte.ru/index.php], headers_list […]