Архиваторы. Размышления

Некоторое время назад, возникла необходимость записать на BD-R некоторое количество SEG-Y файлов. Размер носителя 25Gb, файлов много больше. Решил воспользоваться архиватором, обычно это 7z, настройки по-умолчанию.
Читать далее

Perl, великий и могучий

Заметка на правах шпаргалки.

Попытался я намедни из массива внести в хеш несколько элементов слеив их в строку с разделителем. Первоначально написал вот так

my %add=(); my @items=();
...
open my $ADDFILE, '<', $addon || croak $!;
while (<$ADDFILE>) {
    chomp;
    my @items = split /;/x;
    $add{ $items[1] } = join ';', $items[$_] for ( 4, 7, 10 );
}
close $ADDFILE;
...

Все как обычно, но кроме перечисления элементов @items, решил завернуть это в for, указав их индексы. Почти, но не сработало 🙂

И тут я обнаружил (да для меня это, как ни странно, было ново), что можно подступится к элементам не через скалярное обращение $items[n], а через списочное и можно указать несколько индексов. Т.е. вышло вот так

my %add=(); my @items=();
....
open my $ADDFILE, '<', $addon || croak $!;
while (<$ADDFILE>) {
    chomp;
    my @items = split /;/x;
    $add{ $items[1] } = join ';', @items[ 4, 7, 10 ];
}
close $ADDFILE;
...

p.s. Кстати, весьма советую поставить perl-support плагин для vim. Очень удобно приводить код в порядок, и отдатвать на съедение perl critique.

Однако, как закрутили то..

[root@mailru]# ll /usr/bin/mailq

lrwxrwxrwx 1 root root 27 May 28  2009 /usr/bin/mailq -> /etc/alternatives/mta-mailq
[root@mailru]# ll /etc/alternatives/mta-mailq
lrwxrwxrwx 1 root root 23 Jun  5 09:34 /etc/alternatives/mta-mailq -> /usr/bin/mailq.sendmail
[root@mailru]# ll /usr/bin/mailq.sendmail
lrwxrwxrwx 1 root root 23 Jun  5 09:28 /usr/bin/mailq.sendmail -> ../../usr/sbin/sendmail
[root@mailru]# ll ../../usr/sbin/sendmail
lrwxrwxrwx 1 root root 21 May 28  2009 ../../usr/sbin/sendmail -> /etc/alternatives/mta
[root@mailru]# ll /etc/alternatives/mta
lrwxrwxrwx 1 root root 27 Jun  5 09:34 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
[root@mailru]# ll /usr/sbin/sendmail.sendmail
-rwxr-sr-x 1 root smmsp 775064 Aug 11  2011 /usr/sbin/sendmail.sendmail

Perl 5.14. для CentOS 6 x86_64

Конец света прошёл, с чем вас и поздравляю. Ну а у меня тем временем возникла одна задача, для ее реализации нужен был Perl не ниже 5.12. Печально то, что на машине под CentOS 6, штатно идет лишь perl 5.10 (а под CentOS 5.x лишь perl 5.8.x).
Разрешить эту проблему можно тремя способами

  • Perlbrew. Это позволит иметь хоть все версии перла на машине, и переключаться между ними по мере необходимости. Удобно, но не всегда.
  • Установить непосредственно из исходников. Универсально и для всех, но еще менее удобно, особенно в будущем
  • Придумать, что-то свое. Желательно в rpm

Читать далее

База знаний. Надо? Надо!

Задумывались ли вы, о том, как часто сотруднику службы поддержки приходится отвечать на одни и те же вопросы.

  • Как поменять пароль?
  • Я отправляю 100Гб почтой, а мне приходит непонятное письмо, что делать?
  • Где посмотреть адресную книгу отдела АБВГД?
  • Как поменять столбцы в тектовом файле?
  • Мне пришло письмо «иероглифами», что делать?
  • и так далее

Сначала это утомляет, затем раздражает.. Как сделать так, чтобы все были счастливы и довольны не травмирую психику друг друга. Наш ответ — база знаний.

Т.е. нужно какое-то хранилище информации, структурированное, гипертекстовое. Желательно с возможностью правки самим пользователем (с заделом на будущее, когда некоторые осознанные работники будут описывать свои знания для других), с поиском. Читать далее