LINUX.ORG.RU

Перл и переменная $?


0

0

Когда в BASH мы запускаем команду в обратных кавычках (или без них), то в следующей строке можно прочитать ошибку из переменой $? В PERL так не проходит - после запуска системной команды в ` ` в этой переменной всегда единица - в ней хранится только значение от запуска самого перлового скрипта. Как читать STDERR системных команд, запущенных из перла?

И есть ли в нем аналоги башевских select и case // esac ? (if не предлагать)

anonymous

print $!; ?

anonymous
()

> И есть ли в нем аналоги башевских select и case // esac ? (if не предлагать)

Из операторов только
if
elsif
elsif
...
else

Можно сделать хэш или массив функций:
a = {'first' => func1,
'second' => func2};

z = $a{name}->(x, y);

Извиняюсь, если наврал в синтаксисе, с Перлом сейчас не работаю,
а справочника под рукой нет. Надеюсь, что общая идея понятна :-).

DKorolkov
()

> Как читать STDERR системных команд, запущенных из перла?

perldoc -f open на предмет открытия с |

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.