Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировки и регулярные выражения 
V
    Опции темы
infarch
Дата 17.6.2010, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: нет
Всего: 1



Помогите пожалуйста решить такую проблему:

У меня есть файл в utf8 содержащий строки типа: "<strong>Головной офис</strong></a><span..."
И вот в этих строках мне надо определить встречается ли словосочетание "Головной офис". Однако использование регулярного выражения ничего не дало:

if ( $str =~ /Головной офис/ ) ...

не срабатывает :( Не хочет искать любые русские символы.

Подскажите пожалуйста, чего тут не хватает. На всякий случай вот более полный вариант кода:

Код


use strict;
use warnings;

use utf8;

open SRC, 'output/bank_10255.xml';
while ( my $str = <SRC> ){
    if ( $str =~ /Головной офис/ ){
        print "Bingo!\n";
    }
}
close SRC;




PM MAIL   Вверх
vadiml
Дата 17.6.2010, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 27.7.2007

Репутация: 5
Всего: 7



То, что Вы написали 
use utf8 
ещё не значит что внутри $src строка тоже в utf8.
Надо ещё и при открытии файла указать как его считывать.

use utf8 только автоматически присваивает флаг utf8 текстовым строкам в кавычках.
В Вашем случае -- это 'output/bank_10255.xml',  /Головной офис/ и "Bingo!\n"
PM MAIL Jabber   Вверх
kavkaz
Дата 17.6.2010, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 26.12.2007

Репутация: 1
Всего: 2



Используйте
Код

use utf8;
use open qw(:std :utf8);

PM MAIL ICQ Skype   Вверх
infarch
Дата 17.6.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 13.3.2009

Репутация: нет
Всего: 1



Bingo! smile Оба варианта вполне подошли. огромное всем спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.