Вам не обязательно нужно один регулярное выражение.Для одной строки:
say 'I matched.' if m/^AAA/ and m/XXX$/;
Для мультилинии:
say 'I matched.' if m/\AAAA/m and m/XXX\z/m;
\A
=>
абсолютное начало (^
это только начало a строка.) \z
=>
абсолютное окончание (хотя вы можете использовать \Z
, если хотите конец, и вам все равно, есть разделитель записей или нет. /m
=>
многострочный переключатель
Однако есть также substr
, который работает для любого с точными строками:
say 'I matched.' if substr( $_, 0, 3 ) eq 'AAA' and substr( $_, -3 ) eq 'XXX';