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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка в regexp, regexp 
:(
    Опции темы
myth777
Дата 10.11.2011, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем привет, помогите разобраться что не так.
Код

#!/usr/bin/perl -w
  use strict;
    my $site = "http://habrahabr.ru/blogs/linux/120150";
    my $is_find = ($site =~ m/^http\:\/\//ig);
    print $is_find."\n";
    $site = "http://".$site  if(!$is_find);
    print $site."\n";
    my($s) = $site =~ m/(^http\:\/\/[^\/]+)/ig;
    print $s;

выдает - 
1
http://habrahabr.ru/blogs/linux/120150
Use of uninitialized value $s in print at 1.pl line 9.
собственно вот это меня и убивает.
Use of uninitialized value $s in print at 1.pl line 9.
В чем дело не пойму и что делать тоже не пойму.

Добавлено через 3 минуты и 59 секунд
Если комментирую строчки ниже, то все работает. Такое ощущение что первый regexp на проверку соответствия убивает выполнение второго, а почему - не пойму
Код

#!/usr/bin/perl -w
  use strict;
    my $site = "http://habrahabr.ru/blogs/linux/120150";
#    my $is_find = $site =~ m/^http\:\/\//ig;
#    print $is_find."\n";
#    $site = "http://".$site  if(!$is_find);
    print $site."\n";
    my($s) = $site =~ m/(^http\:\/\/[^\/]+)/ig;
    print $s;



версия perl -  
This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-mult
PM MAIL   Вверх
arto
Дата 10.11.2011, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



# perl
#!/usr/bin/perl -w                                                                                           
  use strict;                                                                                                
    my $site = "http://habrahabr.ru/blogs/linux/120150";                                                     
    my $is_find = ($site =~ m/^http\:\/\//i);
    print $is_find."\n";                                                                                     
    $site = "http://".$site  if(!$is_find);                                                                  
    print $site."\n";                                                                                        
    my($s) = $site =~ m/(^http\:\/\/[^\/]+)/i;
print $s;
^D
1
http://habrahabr.ru/blogs/linux/120150
http://habrahabr.ru

PM MAIL ICQ   Вверх
myth777
Дата 11.11.2011, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



не пойму почему модификатор /g результат убивает
PM MAIL   Вверх
arto
Дата 11.11.2011, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



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


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

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


 




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


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

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