Посты с тегом perl
cppmm 19.08.2012 03:56

Talks!Костыль для логов iptables

Сидел тут недавно, пил пиво и внезапно захотелось мне посмотреть, чего там у меня в логах iptables'а пишется(фаер настроен сотни лет назад и давно не трогался). Сначала за 15 минут набросал парсер. Потом прикрутил подсветку. А потом появилась мысль написать анализатор. Но пиво сыграло свою роль, ну и в принципе штука ненужная. Однако, подумалось мне, для общего образования идея интересная.
Поэтому я выложу набросанный скрипт и предлагаю всем желающим обосрать воспользоваться тем, что работает и придумать варианты анализа лога. На мой взгляд, задачка под пиво самое оно. У нас тут был когда-то конкурс скриптописателей. Давайте, кому интересно, поиграемся в такой же неофициально. ;)
Свой вариант пока убираю(функция f_analyze). Пускай это будет мелкой задачкой. ;)
Полностью.
+ 6 -
0
cppmm 21.02.2012 08:17

СкриптыВосстановление базы установленных пакетов в debian

Сегодня ночью немного попрактиковался в костылеписании из-за собственной невнимательности. Подумал, может быть тут тоже кому будет интересно.
Под катом скрипт для восстановления базы установленных пакетов dpkg в debian'е(и краткая история его появления).
Полностью.
+ 11 -
2
k0st1an 03.02.2012 21:05

Есть проблема!nginx + perl

Пытаюсь заставить работать CGI для perl. Настраивал по этой инструкции, использую сокет. Но при попытке проверить как все это дело работает вылезает ошибка:

2012/02/03 20:28:06 [error] 3107#0: *51 upstream closed prematurely FastCGI stdout while reading response header from upstream, client: 192.168.42.74, server: traff.it.XXXXX.ru, request: "GET /text.pl HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "traff.it.XXXXX.ru"


Пробовал сделать через TCP/IP, но проблема та же. На этом же сервере крутится связка nginx+php+mysql. Крутится несколько виртуальных хостов. Но все это именно на php. А мне надо заставить работать fastcgi для perl. Может есть какая-та другая реализация? Честно говоря ничего более внятного я найти не смог.

nginx - v1.0.11
ubuntu - v11.04

[upd] забыл сделать скрипт text.pl исполняемым.
+ 0 -
2
afiskon 24.10.2011 22:00

PerlYet Another Perl Podcast - выпуск 11

В этом выпуске - новости и интересные статьи, обзор CPAN модулей и вакансий, а также новая рубрика "офтопик". Посвящается всем, кто интересуется программированием на Perl.

PS. Если нужно было оформить пост иначе (скопипастить к примеру), дайте знать, исправлюсь.
Полностью.
+ 3 -
0
cubiccat 02.05.2011 20:42

СкриптыСкрипт-генератор брошюр из простого документа

На самом деле скрипт с документом никак не взаимодействует. Он только создает списки страниц, а вы их распечатываете.
Полностью.
+ 8 -
12
Q2W 26.03.2011 15:01

СкриптыПереключение с/на внешний монитор

У меня в офисе большой мнитор, но работаю я на ноутбуке. Поэтому подключаю его к ноуту.
Так вот почему-то не нашёл я функционала, который автоматически переключал бы изображение с одного монитора на другой.
Собственно поэтому был написан Perl-скрипт:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/perl

# Переключатель мониторов. При подключении или отключении внешнего монитора нужно вызвать этот скрипт (например, повесить его на
# горячую клавишу или на событие в системе, если такое найдётся) и он переключит изображение либо на внешний монитор, если тот
# подключен, либо на дефолтный, если внешний не подключен.

use strict;
use warnings;

my $defaultMonitorOutput = 'LVDS1';	# Здесь указываем название выхода, к которому подключён дефолтный монитор.
my $externalMonitorOutput = 'VGA1';	# А здесь тот внешний выход, к котором подключаем второй монитор.
					# Имена выходов можно посмотреть в выводе команды "xrandr".

my $xrandr = `xrandr`;	# Вызываем xrandr, дабы узнать, какие мониторы подключены, и какие из них заюзаны

my %connected;		# Те, что подключены, отмечаются xrandr'ом словом "connected"
$connected{$1} = 1 while $xrandr =~ m/^(<^ >+) connected/ogm;

my %used;		# А те, что заюзаны, имеют какое-то разрешение экрана - циферку после "connected"
$used{$1} = 1 while $xrandr =~ m/^(<^ >+) connected \d/ogm;

print "\tПодключённые мониторы:\t".join(', ', keys %connected).".\n\tЗаюзанные мониторы:\t".join(', ', keys %used).".\n";

# Если на внешнем выходе что-то подключили, а заюзан всё ещё тот, что на дефолтном выходе, переключим их.
if($connected{$externalMonitorOutput} and $used{$defaultMonitorOutput})
{
	print "\Заюзаем подключённый $externalMonitorOutput и убираем $defaultMonitorOutput.\n";
	`xrandr --output $externalMonitorOutput --auto`;	# Включаем монитор на внешнем выходе с оптимальный разрешением
	`xrandr --output $defaultMonitorOutput --off`;		# Выключаем монитор на дефолтном выходе
}
# А если на внешнем выходе уже ничего не подключено, а тот, что на дефолтном выходе, ещё не заюзан, переключим обратно.
elsif(!$connected{$externalMonitorOutput} and !$used{$defaultMonitorOutput})
{
	print "\tУбираем отключённый $externalMonitorOutput и заюзаем $defaultMonitorOutput.\n";
	`xrandr --output $defaultMonitorOutput --auto`;		# Включаем монитор на дефолтном выходе с оптимальным разрешением
	`xrandr --output $externalMonitorOutput --off`;		# Выключаем монитор на внешнем выходе
} else {
	print "\tВсё уже ОК, действия не нужны.\n";
}

Перед использованием подставьте свои названия видеовыходов в переменные $defaultMonitorOutput и $externalMonitorOutput в начале скрипта.

Сначала хотел, чтобы он сам обнаруживал подключение внешнего монитора, но узнать об этом событии я смог только периодическим парсингом вывода xrandr, из-за которого всё тормозит пару секунд, хоть и не видно нагрузки.
Так что если кто-то подскажет нормальный способ словить это событие не мешая, будет супер.
Полностью.
+ 5 -
1
26.01.2011 22:35

ladykoshaПерлушка для превращения текста со всякими &amp;xxx; и &amp;#nnn; в нормальный utf8

1
2
3
4
#!/usr/bin/perl
use HTML::Entities; 
binmode ("STDOUT", ":utf8"); 
print decode_entities(&lt;&gt;);

Полностью.
+ 22 -
6
cubiccat 07.11.2010 12:01

СкриптыСкрипт для конвертирования видео-файлов в mp4

В связи с покупкой нового телефона (Samsung S5230) - возникла потребность конвертировать видео в mp4.
Полностью.
+ 11 -
16
stasikos 07.08.2010 17:11

СкриптыХайлайты через notify-send в irssi

Так как кое-где еще не нашлось достаточно пользователей irssi, думаю что здесь ему будет полезнее полежать. :)

Благодаря наличию в Irssi поддержки perl-скриптования, можно очень простым
способом, не используя никаких дополнительных модулей или еще чего либо
реализовать довольно-таки удобную функцию уведомления о приватных сообщениях и
хайлайтах через notify-osd, используя приведенный здесь скрипт. Конечно же, вы
можете использовать что угодно вместо notify-osd по вашему желанию, и тогда это
будет лишь небольшим примером того как можно облагородить такой, кажущийся
многим с первого взгляда убогим, IRC-клиент.
Полностью.
+ 3 -
4
Q2W 23.07.2010 22:52

How-to`sУстановка apache 1.3.42 + mod_perl на Ubuntu 10.04

Вобщем возникла задача поиметь машину для разработки с мод_перлом и первым апачом.
Обычно я это делал на специально выделенной под это дело тестовой машине с Фрёй, где для этого дела есть отдельный порт и никаких проблем, но на этот раз я решил, что пора на своей машине это организовать.

Итак, пакета с первым апачом под современную убунту нет, поэтому придётся ставить из исходников.

Тут написано, что всё просто и делается парой команд, но я бы не писал этот пост, если бы оно действительно было так.

И вот вам моё прохождение сего квеста.
Полностью.
+ 2 -
9
1 2 3 4