LINUX.ORG.RU

История изменений

Исправление mihalych, (текущая версия) :

gh0stwizard, прошу прощения, что вмешиваюсь, но по крайней мере несколько Ваших высказываний неверны.

Пример кода, к которому Вы прицепились, работает по плану. Печатает пустую строку. Я бы, правда, посоветовал для универсальности использовать «and» вместо «&&», если так хочется избежать «if». То есть:

perl -e '"test" =~ /^(.*?)t/ and print "[$1]\n"'

Нет никаких проблем использовать $1 в коде, в который попадаешь лишь при срабатывании заранее известного регекспа; в данном случае $1 никогда не может быть undef. Поэтому, вовсе непонятен Ваш пассаж про продакшн.

Исходная версия mihalych, :

gh0stwizard, прошу прощения, что вмешиваюсь, но по крайней мере несколько Ваших высказываний неверны.

Пример кода к которому Вы прицепились работает по плану. Печатает пустую строку. Я бы, правда, посоветовал для универсальности использовать «and» вместо «&&», если так хочется избежать «if». То есть:

perl -e '"test" =~ /^(.*?)t/ and print "[$1]\n"'

Нет никаких проблем использовать $1 в коде, в который попадаешь лишь при срабатывании заранее известного регекспа; в данном случае $1 никогда не может быть undef. Поэтому, вовсе непонятен Ваш пассаж про продакшн. :)