Рассмотрим текстовый файл с содержанием:
apple apple pear plum apple cherry pear apple
cherry plum plum pear apple cherry pear pear apple plum
И рассмотрим однострочник perl:
perl -pe "s/apple/green/g and s/pear/yellow/g and s/plum/blue/g and s/cherry/red/g" < fruits.txt
Это заменяет каждый фрукт своим цветом.
Теперь, можно ли это как-то сделать за один раз /// вместо четырех?
Меня также беспокоит порядок слов фруктов.
Если мой образец не включает «яблоко», ни одна из других замен не будет завершена.
Как мне это исправить?
Обратите внимание: я хочу сохранить решение как однострочное.
Поэтому определение хешей, чтение в файлах и другие решения, требующие много строк кода на Perl, не продвигают меня вперед.
Это скорее вопрос любопытства, а не вопроса жизни или смерти, от которого зависел бы проект.
Просто беспокоит меня уже несколько дней и подумал, что более опытный пользователь Perl может помочь с решением в одно мгновение или избавить меня от страданий, прямо заявив, что это не может быть сделано на Perl так, как я хочу. *