|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Konstantin Stupnik 2:5020/400 19 Mar 2001 16:40:27 To : All Subject : Re: <title> </title> -------------------------------------------------------------------------------- Hi! "Michael Smirnov" <smb@mh.vstu.edu.ru> wrote in message news:3ab5d7a3$1@libr.library.vstu.edu.ru... > > MS> foreach (<DATA>) { > > MS> if ( $str = /.*\.html$/ ) { > > > > А это зачем?! > Это я глючу ;-) > > > MS> $title=m|<title>(.*)</title>|; #Regexp > > > > m|<title>(.*)</title>| ? $title=$1 : undef $title; > Да, коротко и красиво. > Hо ведь мы не знаем, в какой строчке html-файла находится тег <title>, > поэтому приходится читать с начала файла и искать тег. > А насчет того, где доступен $1, я не уверен. > Пока работает только так: > > foreach (<DATA>) { > chomp; > if ( m|<title>(.*)</title>| && ($title=$1) ) { > print "тря-ля-ля...$title"; > last; > } Всё хуже :) Открывающий и закрывающий тэги могут быть на разных строках. Hадо либо засосать весь (не думаю, что там 10 мегабайтные .html'ки), либо скипать всё до <title> потом собирать в строчку всё до </title> И потом матчить то, что получилось. Это раз. А два - лучше делать (.*?) между тэгами. Мало ли... А globbing таки да - sux. Когда делаешь while(<*>) { print "$_\n"; } Hа самбовском диске из-под NT, все имена получаются в lowercase, независимо от того, какие они реально. -- Best regards, Konstantin. Brainbench MVP for perl. Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488a8c2554f.html, оценка из 5, голосов 10
|