Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Передать procmail


Автор: evya 8.11.2013, 08:28
Подскажите

есть Perl скрипт который обрабатывает почту.

Сриптом сформированое письмо MIME 

Далее нужно передать Procmailrc   $HOME/Procmailrc

 который бы сделал с письмом все то что надо.

как заставить Perl,  выполнить Linux код 

Автор: arto 8.11.2013, 08:40
perldoc -f system
perldoc -f open

Автор: Bulat 11.11.2013, 15:16
Код

perl -e '$res = `netstat`; print $res'


Код

.....
my $variable = `your_cmd`;
.....

Автор: noize 12.11.2013, 22:54
Цитата(Bulat @ 11.11.2013,  16:16)
Код

perl -e '$res = `netstat`; print $res'


Код

.....
my $variable = `your_cmd`;
.....

через обратные апострофы `` вызывать системные команды - большой моветон: в коде легко не заметить. Лучше использовать qx: 
Код

my $var = qx/sys_cmd/;

Автор: Bulat 13.11.2013, 05:51
Цитата(noize @  12.11.2013,  22:54 Найти цитируемый пост)
через обратные апострофы `` вызывать системные команды - большой моветон: в коде легко не заметить. Лучше использовать qx: 

бред......... TMTOWTDI

Лучшее - враг хорошего

Добавлено через 3 минуты и 43 секунды
А еще вдогоночку, принцип KISS - keep it simple, stupid.

Чем проще - тем лучше  smile 

Автор: noize 13.11.2013, 08:45
Цитата

бред......... TMTOWTDI

бред - это использовать устаревшие и неочевидные конструкции в коде когда есть более понятные и наглядные операторы. Обратные апострофы - это наследие Unix, а qx - родной оператор perl. Когда у вас скрипт/модуль на 100500 строк очень легко визуально спутать вызов системной команды через `` с присваиванием некоего тесктового значения переменной.

Автор: Bulat 13.11.2013, 10:08
Цитата(noize @  13.11.2013,  08:45 Найти цитируемый пост)
 Когда у вас скрипт/модуль на 100500 строк


Хотелось бы мне посмотреть на скрип/модуль в 100500 строк. Лично я сколько не работал, более 5000 строк в модуле не видел. И то редкий модуль. 

Цитата(noize @  13.11.2013,  08:45 Найти цитируемый пост)
очень легко визуально спутать

Вы сейчас пытаетесь говорить от имени всех программистов пишущих на перл или только про себя(!).

Цитата(noize @  13.11.2013,  08:45 Найти цитируемый пост)
бред - это использовать устаревшие и неочевидные конструкции

бред... Если какая-то синтаксическая конструкция используется реже, чем другая - это еще не повод говорить, что она неочевидная, устаревшая и т.п.

Цитата(noize @  13.11.2013,  08:45 Найти цитируемый пост)
Обратные апострофы - это наследие Unix

Хеши в перле это наследие awk, часть функций это наследие от С. Но наверняка многие программисты perl не брезгуют использованием ни хешей, ни функций, ни прочих наследий...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)