Цитуючи метахарактеристики
Метасимволи в керуючих послідовностей Perl є буквено - цифровими, такими , як \b, \w,
\n. На відміну від деяких інших мов регулярного вираження, немає зворотних косих символів, які не буквено-цифрові. Тому все , що виглядає як \\, \(, \), \[, \], \{, або \}завжди інтерпретується як буквений символ, а НЕ метасимволу. Це колись було використано в загальній ідіомі для відключення або цитування спеціальних значень метахарактерів регулярних виразів у рядку, який потрібно використовувати для шаблону. Просто процитуйте всі символи, які не мають слова:
$pattern =~ s/(\W)/\\$1/g;
(Якщо use localeвстановлено, то це залежить від поточного локалу.) Сьогодні частіше використовувати quotemetaфункцію або \Q
послідовність введення метаквітування для відключення спеціальних значень усіх метахарактерів, як це:
/$unquoted\Q$quoted\E$unquoted/
Пам’ятайте, що якщо ви поставите буквальні зворотні косої риски (ті, що не знаходяться всередині інтерпольованих змінних) між \Qта \E, подвійне зменшення зворотної косої риски може призвести до заплутаних результатів. Якщо вам потрібно використовувати буквальні зворотні риси \Q...\E, зверніться до “Gory деталей розбору цитованих конструкцій” у перлопі .
quotemeta і \Q повністю описані в quometa .
grep '^$1'? Або ти не мав на увазі, що ти хочеш не допустити$1розширення оболонки?