$search=~tr/A-Z/a-z/; $search=~tr/А-Я/а-я/;
Нет, так просто ужасно, а если ты захочешь переводить в другой регистр какой-нибудь другой язык, или просто сменишь кодировку, где буквы не идут подрят?
Лучше использовать
use locale;
$search=lc "сОлн";
open (LIST,"$file");
while ( ) {
$_ = lc $_;
if (/$search/) { push @matches, $_; } #тогда /i уже не надо
}
close (LIST);
Это прагма указывает что для изменение регистра нужно использовать текущую локаль.
Это в том случае если нужно чтобы в результате было все в нижнем регисте, а если не нужно, то лучше использовать модификатор i. Тогда регистр сохранится