<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Вытащить строку из файла</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html</link>
    <description>open FN, &quot;$Epr_file_name&quot; &amp;#124;&amp;#124; die &quot;Файл не найден!&quot;;&lt;br&gt;foreach( &amp;lt;FN&amp;gt; )&lt;br&gt;&#123; $Wget_epr .= $_; &#125;&lt;br&gt;close FN;&lt;br&gt;&lt;br&gt;теперь надо найти в $Wget_epr подстроку &quot;Software realese 3.0.0&quot; и взять только цифры с точками.&lt;br&gt;&lt;br&gt;помогите пожалуйста, моск рушится&lt;br&gt;</description>

<item>
    <title>Вытащить строку из файла (madskull)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#9</link>
    <pubDate>Fri, 06 Jun 2008 08:33:33 GMT</pubDate>
    <description>&amp;gt;Вы это проверяли хоть? Проверьте на строке: &lt;br&gt;&amp;gt;software release 1.23 &lt;br&gt;&amp;gt;То есть без лишних символов в начале и одиночного пробельного и произвольных &lt;br&gt;&amp;gt;дальше в конце. Я бы сказал что ваш регекс нежизнеспособен, слишком &lt;br&gt;&amp;gt;специфические условия ему подавай. &lt;br&gt;&lt;br&gt;Конечно проверял. На том примере, чтобыл дан - работает.&lt;br&gt;Да я и не ставил целью сделать что-то универсальное. Есть задача - есть решение.&lt;br&gt;Если бы мне понадобилось выдрать что-то из файла, я бы сделал примерно так, однострочником и не задумываяь о памяти, скорости и тому подобном. &lt;br&gt;Мало того, я бы даже не стал заморачиваться с открытием файла, а сделал бы что-то вроде&lt;br&gt;perl -wlne &apos;/Software release (.+?) / &amp;&amp; print $1&apos; file&lt;br&gt;&lt;br&gt;И вообще, я не регексп демонстрировал, а то, что можно сделать намного короче.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Вытащить строку из файла (angra)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#8</link>
    <pubDate>Fri, 06 Jun 2008 06:36:09 GMT</pubDate>
    <description>Вы это проверяли хоть? Проверьте на строке:&lt;br&gt;software release 1.23&lt;br&gt;То есть без лишних символов в начале и одиночного пробельного и произвольных дальше в конце. Я бы сказал что ваш регекс нежизнеспособен, слишком специфические условия ему подавай.  &lt;br&gt;Но даже если хочется короче, то я бы все-таки предпочел:&lt;br&gt;open F,&quot;&amp;lt;a&quot; or die $!;map &#123;print &quot;$1&#092;n&quot; if /software&#092;s+release&#092;s+(&#091;&#092;d.&#093;+)/i&#125; &amp;lt;F&amp;gt;&lt;br&gt;Хотя еще правильней было бы использовать такой:&lt;br&gt;open F,&quot;&amp;lt;a&quot; or die $!;foreach (&amp;lt;F&amp;gt;) &#123;print &quot;$1&#092;n&quot; if /&#091;Ss&#093;oftware&#092;s+&#091;Rr&#093;elease&#092;s+(&#091;&#092;d.&#093;+)/&#125;&lt;br&gt;Данный вариант не ест лишней памяти и будет нормально работать на больших файлах, также избавлен от проблем со скоростью у /i. &lt;br&gt;</description>
</item>

<item>
    <title>Вытащить строку из файла (madskull)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#7</link>
    <pubDate>Fri, 06 Jun 2008 06:17:15 GMT</pubDate>
    <description>че-та как-то много всего...&lt;br&gt;&lt;br&gt;open F,&quot;&amp;lt;file&quot; or die $!;&lt;br&gt;($_=join &quot;&quot;,&amp;lt;F&amp;gt;)=~s/^.+software&#092;s+release&#092;s+(.+?)&#092;s.+/$1/si;&lt;br&gt;print;&lt;br&gt;&lt;br&gt;Хотя, если в целях обучения... все равно много :)&lt;br&gt;</description>
</item>

<item>
    <title>Вытащить строку из файла (andy)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#6</link>
    <pubDate>Fri, 06 Jun 2008 02:52:21 GMT</pubDate>
    <description>&#091;red&#064;mail ~/dev/perl/re&#093;$ ls -l&lt;br&gt;total 4&lt;br&gt;-rwxr-xr-x  1 red  red  475  6 июн 10:43 on20080606&lt;br&gt;-rw-r--r--  1 red  red  163  6 июн 10:41 on20080606.txt&lt;br&gt;&#091;red&#064;mail ~/dev/perl/re&#093;$&lt;br&gt;&#091;red&#064;mail ~/dev/perl/re&#093;$ cat ./on20080606&lt;br&gt;#!/usr/bin/perl&lt;br&gt;use strict;&lt;br&gt;use warnings;&lt;br&gt;use vars qw( $text $release );&lt;br&gt;sub get_release($);&lt;br&gt;&lt;br&gt;open(F, &apos;&amp;lt;&apos;, &apos;on20080606.txt&apos;) or die($!); $text.= $_ while &amp;lt;F&amp;gt;; close(F);&lt;br&gt;&lt;br&gt;if( defined( $release = get_release($text) ) ) &#123;&lt;br&gt;    printf &quot;found release &#037;s&#092;n&quot;, $release;&lt;br&gt;&#125; else &#123;&lt;br&gt;    printf &quot;nothing found&#092;n&quot;;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;sub get_release($) &#123;&lt;br&gt;    my($text, $release);&lt;br&gt;    $text = shift;&lt;br&gt;    ( $release ) = $text =~ / &#092;b software &#092;s+ release &#092;s+ (&#092;d&#091;a-z0-9.&#093;*) &#092;b /gxis;&lt;br&gt;    return $release;&lt;br&gt;&#125;&lt;br&gt;&#091;red&#064;mail ~/dev/perl/re&#093;$&lt;br&gt;&#091;red&#064;mail ~/dev/perl/re&#093;$&lt;br&gt;&#091;red&#064;mail ~/dev/perl/re&#093;$ cat ./on20080606.txt&lt;br&gt;   &amp;lt;TD height=&quot;24&quot; COLSPAN=1 align=right&lt;br&gt;   background=&quot;imagesnavi/topbg3.gif&quot; align=&quot;right&quot; class=&quot;header&quot;&amp;gt;&lt;br&gt; DVD Rel. 20  - Software&lt;br&gt; release 11.Pre4&amp;lt;/TD&amp;gt;&lt;br&gt;gfwd&lt;br&gt;&#091;red&#064;mail ~/dev/perl/re&#093;$&lt;br&gt;&#091;red&#064;mail ~</description>
</item>

<item>
    <title>Вытащить строку из файла (ALUM)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#5</link>
    <pubDate>Thu, 05 Jun 2008 12:36:47 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;не ловит. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;пример файла: &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;    &amp;lt;TD height=&quot;24&quot; COLSPAN=1 align=right background=&quot;imagesnavi/topbg3.gif&quot; align=&quot;right&quot; class=&quot;header&quot;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; DVD Rel. 20  - Software release 4.1.0   &amp;lt;/TD&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;так вы определитесь, что вам надо искать release или realese и ищите &lt;br&gt;&amp;gt;именно это :-) &lt;br&gt;&lt;br&gt;дело не в неправильном написании, эту ошибку я сразу просёк, за идиота не держите.&lt;br&gt;</description>
</item>

<item>
    <title>Вытащить строку из файла (vg)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#4</link>
    <pubDate>Thu, 05 Jun 2008 12:11:04 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;помогите пожалуйста, моск рушится &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;if ($Wget_epr=~m/Software&#092;srealese&#092;s(&#091;&#092;d.&#093;+)/) &#123; &lt;br&gt;&amp;gt;&amp;gt;  print &quot;найдено $1&#092;n&quot;; &lt;br&gt;&amp;gt;&amp;gt;&#125; else &#123; &lt;br&gt;&amp;gt;&amp;gt;  print &quot;не найдено&#092;n&quot;; &lt;br&gt;&amp;gt;&amp;gt;&#125; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;--- &lt;br&gt;&amp;gt;&amp;gt;а вообще Perl -- зло :-) &lt;br&gt;&lt;br&gt;man perlre&lt;br&gt;</description>
</item>

<item>
    <title>Вытащить строку из файла (Mil)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#3</link>
    <pubDate>Thu, 05 Jun 2008 11:17:49 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;--- &lt;br&gt;&amp;gt;&amp;gt;а вообще Perl -- зло :-) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;не ловит. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;пример файла: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;    &amp;lt;TD height=&quot;24&quot; COLSPAN=1 align=right background=&quot;imagesnavi/topbg3.gif&quot; align=&quot;right&quot; class=&quot;header&quot;&amp;gt;&lt;br&gt;&amp;gt; DVD Rel. 20  - Software release 4.1.0   &amp;lt;/TD&amp;gt;&lt;br&gt;&lt;br&gt;так вы определитесь, что вам надо искать release или realese и ищите именно это :-)&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Вытащить строку из файла (ALUM)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#2</link>
    <pubDate>Thu, 05 Jun 2008 09:41:24 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;помогите пожалуйста, моск рушится &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;if ($Wget_epr=~m/Software&#092;srealese&#092;s(&#091;&#092;d.&#093;+)/) &#123; &lt;br&gt;&amp;gt;  print &quot;найдено $1&#092;n&quot;; &lt;br&gt;&amp;gt;&#125; else &#123; &lt;br&gt;&amp;gt;  print &quot;не найдено&#092;n&quot;; &lt;br&gt;&amp;gt;&#125; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;--- &lt;br&gt;&amp;gt;а вообще Perl -- зло :-) &lt;br&gt;&lt;br&gt;не ловит.&lt;br&gt;&lt;br&gt;пример файла:&lt;br&gt;&lt;br&gt;    &amp;lt;TD height=&quot;24&quot; COLSPAN=1 align=right background=&quot;imagesnavi/topbg3.gif&quot; align=&quot;right&quot; class=&quot;header&quot;&amp;gt;&lt;br&gt; DVD Rel. 20  - Software release 4.1.0   &amp;lt;/TD&amp;gt;&lt;br&gt;</description>
</item>

<item>
    <title>Вытащить строку из файла (Mil)</title>
    <link>https://slinkov.ru/openforum/vsluhforumID8/5800.html#1</link>
    <pubDate>Thu, 05 Jun 2008 09:29:51 GMT</pubDate>
    <description>&amp;gt;open FN, &quot;$Epr_file_name&quot; &amp;#124;&amp;#124; die &quot;Файл не найден!&quot;; &lt;br&gt;&amp;gt;foreach( &amp;lt;FN&amp;gt; )&lt;br&gt;&amp;gt;&#123; $Wget_epr .= $_; &#125; &lt;br&gt;&amp;gt;close FN; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;теперь надо найти в $Wget_epr подстроку &quot;Software realese 3.0.0&quot; и взять только &lt;br&gt;&amp;gt;цифры с точками. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;помогите пожалуйста, моск рушится &lt;br&gt;&lt;br&gt;if ($Wget_epr=~m/Software&#092;srealese&#092;s(&#091;&#092;d.&#093;+)/) &#123;&lt;br&gt;  print &quot;найдено $1&#092;n&quot;;&lt;br&gt;&#125; else &#123;&lt;br&gt;  print &quot;не найдено&#092;n&quot;;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;---&lt;br&gt;а вообще Perl -- зло :-)&lt;br&gt;</description>
</item>

</channel>
</rss>
