<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: абзац строк</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/6813.html</link>
    <description>Есть файл dhcpd.conf&lt;br&gt;содержит блоки текста вида:&lt;br&gt;host 192.168.1.98 &#123;&lt;br&gt;         hardware ethernet 00:50:22:b0:39:c7;&lt;br&gt;         fixed-address 192.168.1.98;&lt;br&gt;&#125;&lt;br&gt;host 192.168.1.99 &#123;&lt;br&gt;         hardware ethernet 00:50:02:e0:00:17;&lt;br&gt;         fixed-address 192.168.1.99;&lt;br&gt;&#125;&lt;br&gt;......... и т.д.&lt;br&gt;&lt;br&gt;скрип:&lt;br&gt;open (prt, &quot;&amp;lt;dhcpd.conf&quot;);&lt;br&gt;while($dd=&amp;lt;prt&amp;gt;)&#123;&lt;br&gt;($name, $adr, $mac)=$dd =~ m/(192.168.1.&#092;d+)((&#092;w+:)&#123;5&#125;&#092;w+)(192.168.1.&#092;d+)/;&lt;br&gt;print &quot;$name $adr $mac&#092;n&quot;;&lt;br&gt;&#125;;&lt;br&gt;разумеется данный скрипт в таком виде ничего не выводит.&lt;br&gt;цель, получить вывод вида:&lt;br&gt;192.168.1.98 00:50:22:b0:39:c7 192.168.1.98&lt;br&gt;192.168.1.99 00:50:02:e0:00:17 192.168.1.99&lt;br&gt;......&lt;br&gt;вопрос: как объединить строки в абзацы? &lt;br&gt;host 192.168.1.98 &#123;&lt;br&gt;         hardware ethernet 00:50:22:b0:39:c7;&lt;br&gt;         fixed-address 192.168.1.98;&lt;br&gt;&#125;&lt;br&gt;......&lt;br&gt;</description>

<item>
    <title>абзац строк (creapt)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/6813.html#6</link>
    <pubDate>Tue, 09 Oct 2007 12:10:19 GMT</pubDate>
    <description>&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;$/ - описание что-то не нашел &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;man perlvar. Это переменая указывает что является разделителем для для строк. В &lt;br&gt;&amp;gt;данном скрипте это &#125; плюс конец строки &lt;br&gt;&amp;gt;&amp;gt;&#092;x0A - шестнадцатеричная, но почему именно 0A &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;стандартный символ окончания строки в линуксе, также зачастую обозначается как &#092;n. Если &lt;br&gt;&amp;gt;файл имеет dos/win формат, то это будет &#092;r&#092;n или &#092;x0D&#092;x0A, для &lt;br&gt;&amp;gt;мака - &#092;x0D. &lt;br&gt;&lt;br&gt;Спасибо, разобрался&lt;br&gt;</description>
</item>

<item>
    <title>абзац строк (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/6813.html#5</link>
    <pubDate>Mon, 08 Oct 2007 18:55:15 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;$/ - описание что-то не нашел &lt;br&gt;&lt;br&gt;man perlvar. Это переменая указывает что является разделителем для для строк. В данном скрипте это &#125; плюс конец строки&lt;br&gt;&amp;gt;&#092;x0A - шестнадцатеричная, но почему именно 0A &lt;br&gt;&lt;br&gt;стандартный символ окончания строки в линуксе, также зачастую обозначается как &#092;n. Если файл имеет dos/win формат, то это будет &#092;r&#092;n или &#092;x0D&#092;x0A, для мака - &#092;x0D.&lt;br&gt;</description>
</item>

<item>
    <title>абзац строк (creapt)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/6813.html#4</link>
    <pubDate>Mon, 08 Oct 2007 13:08:47 GMT</pubDate>
    <description>Большое спасибо!&lt;br&gt;Разобрался со скриптом.&lt;br&gt;Вопрос возник только с одной вещью:&lt;br&gt;$/ =&quot;&#125;&#092;x0A&quot;;&lt;br&gt;&lt;br&gt;$/ - описание что-то не нашел&lt;br&gt;&#092;x0A - шестнадцатеричная, но почему именно 0A&lt;br&gt;</description>
</item>

<item>
    <title>абзац строк (andy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/6813.html#3</link>
    <pubDate>Mon, 08 Oct 2007 04:55:16 GMT</pubDate>
    <description>&#091;admin&#064;comm perl&#093;$ ls -l dh*&lt;br&gt;-rw-r--r--  1 admin wheel 193 Окт  8 12:50 dhcpd.conf&lt;br&gt;-rwxr-xr-x  1 admin wheel 576 Окт  8 12:46 dhcp_parse&lt;br&gt;&#091;admin&#064;comm perl&#093;$&lt;br&gt;&#091;admin&#064;comm perl&#093;$ cat ./dhcpd.conf&lt;br&gt;host 192.168.1.98 &#123;&lt;br&gt;         hardware ethernet 00:50:22:b0:39:c7;&lt;br&gt;        fixed-address 192.168.1.98;&lt;br&gt;&#125;&lt;br&gt;host 192.168.1.99 &#123;&lt;br&gt;         fixed-address 192.168.1.99;hardware ethernet 00:50:02:e0:00:17;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;&#091;admin&#064;comm perl&#093;$ ./dhcp_parse&lt;br&gt;192.168.1.98 00:50:22:b0:39:c7 192.168.1.98&lt;br&gt;192.168.1.99 00:50:02:e0:00:17 192.168.1.99&lt;br&gt;&#091;admin&#064;comm perl&#093;$&lt;br&gt;&#091;admin&#064;comm perl&#093;$ cat ./dhcp_parse&lt;br&gt;#!/usr/bin/perl&lt;br&gt;use strict;&lt;br&gt;use warnings;&lt;br&gt;use vars qw( $config &#037;hosts );&lt;br&gt;sub parse_host_record($$);&lt;br&gt;&lt;br&gt;undef $/;&lt;br&gt;&lt;br&gt;open(F, &apos;&amp;lt;&apos;, &apos;dhcpd.conf&apos;) or die($!);&lt;br&gt;$config = &amp;lt;F&amp;gt;;&lt;br&gt;close( F );&lt;br&gt;&lt;br&gt;parse_host_record( $1, $2 ) while $config =~ /&#092;b host &#092;s+ (&#092;S+) &#092;s* &#123; (&#091;^&#125;&#093;+) &#125; /gsix;&lt;br&gt;&lt;br&gt;foreach my $key ( sort keys &#037;hosts ) &#123;&lt;br&gt;  printf( &quot;&#037;s &#037;s &#037;s&#092;n&quot;, $key, $hosts&#123;$key&#125;&#123;&apos;hardware ethernet&apos;&#125;, $hosts&#123;$key&#125;&#123;&apos;fixed-address&apos;&#125; );&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;sub parse_host</description>
</item>

<item>
    <title>абзац строк (NuINu)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/6813.html#2</link>
    <pubDate>Sun, 07 Oct 2007 11:35:42 GMT</pubDate>
    <description>&amp;gt;цель, получить вывод вида: &lt;br&gt;&amp;gt;192.168.1.98 00:50:22:b0:39:c7 192.168.1.98 &lt;br&gt;&amp;gt;192.168.1.99 00:50:02:e0:00:17 192.168.1.99 &lt;br&gt;&lt;br&gt;#!/usr/bin/perl -w&lt;br&gt;&lt;br&gt;use strict;&lt;br&gt;&lt;br&gt;#разделитель сторок, если ставим просто &quot;&#125;&quot; то в конце читается еще одна - пустая строка&lt;br&gt;$/ =&quot;&#125;&#092;x0A&quot;;&lt;br&gt;my $dd;&lt;br&gt;my $name_shabl   = &apos;&#091;^&#092;s&#093;+&apos;; #что бы имя не было только IP&lt;br&gt;my $ip_shabl   = &apos;&#092;d&#123;1,3&#125;.&#092;d&#123;1,3&#125;.&#092;d&#123;1,3&#125;.&#092;d&#123;1,3&#125;&apos;;&lt;br&gt;my $mac_shabl  = &apos;(&#091;a-fA-F0-9&#093;&#123;2&#125;:)&#123;5&#125;&#091;a-fA-F0-9&#093;&#123;2&#125;&apos;;&lt;br&gt;#my $parse_regx = &quot;host&#092;&#092;s+($ip_shabl)&#092;&#092;s+.+ethernet&#092;&#092;s+($mac_shabl)&#092;&#092;s*;.+fixed-address&#092;&#092;s+($ip_shabl);&quot;;&lt;br&gt;my $parse_regx = &quot;host&#092;&#092;s+($name_shabl)&#092;&#092;s+.+ethernet&#092;&#092;s+($mac_shabl)&#092;&#092;s*;.+fixed-address&#092;&#092;s+($ip_shabl)&#092;&#092;s*;&quot;;&lt;br&gt;&lt;br&gt;my ($name, $addr, $mac);&lt;br&gt;open (PRT, &quot;&amp;lt;&quot;, &quot;dhcpd.conf&quot;);&lt;br&gt;#print &quot;search shablon: $parse_regx&#092;n&quot;;&lt;br&gt;while($dd = &amp;lt;PRT&amp;gt;)&#123;&lt;br&gt;    $dd =~ s/&#092;x0A//g;&lt;br&gt;    #print &quot;read: &apos;$dd&apos;&#092;n&quot;;&lt;br&gt;    if($dd =~ m/$parse_regx/g) &#123;&lt;br&gt;$name = $1;&lt;br&gt;$mac  = $2;&lt;br&gt;$addr = $4;&lt;br&gt;print &quot;$name $mac $addr&#092;n&quot;;&lt;br&gt;#print &quot;$mac $addr&#092;n&quot;;&lt;br&gt;    &#125; else &#123;&lt;br&gt;print &quot;undefined format&#092;n&quot;;&lt;br&gt;    &#125;&lt;br&gt;&#125;;</description>
</item>

<item>
    <title>абзац строк (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/6813.html#1</link>
    <pubDate>Fri, 05 Oct 2007 23:00:40 GMT</pubDate>
    <description>Одно из двух&lt;br&gt;1) читать построчно, проверять на три разных регекса&lt;br&gt;2) читать весь файл сразу и проверять одним регексом&lt;br&gt;А у вас читается построчно и попытка применить регекс части которого относятся к разным строкам. Разумеется он ничего не найдет&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
