| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > ошибка в regexp |
| Автор: myth777 10.11.2011, 14:23 | ||||
Всем привет, помогите разобраться что не так.
выдает - 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 на проверку соответствия убивает выполнение второго, а почему - не пойму
версия perl - This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-mult |
| Автор: arto 10.11.2011, 15:06 |
| # 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 # |
| Автор: myth777 11.11.2011, 14:32 |
| не пойму почему модификатор /g результат убивает |
| Автор: arto 11.11.2011, 14:48 |
| perldoc perlretut на предмет Global matching |