<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Анализ логов Apache</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9450.html</link>
    <description>Народ, помогите плиз? &lt;br&gt;Нужно написать скрипт на перл а у меня с ним опыта вобще никакого.&lt;br&gt;Задача:&lt;br&gt;Есть 4 папки в папке /weblogs&lt;br&gt;в каждой из них лежит немерянное количество архивированных логов апача.&lt;br&gt;Теперь есть файлик с 80тью IP адресами, и надо получить отчет какой адрес в каком файле встречается.&lt;br&gt;Человек который поставил задачу посоветовал применить перл хэши.&lt;br&gt;Вот сижу теперь ломаю голову что это такое и с чем его едят :(&lt;br&gt;&lt;br&gt;Заранее благодарен за помощь.&lt;br&gt;</description>

<item>
    <title>Обчибочка (wolkwww)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9450.html#2</link>
    <pubDate>Thu, 10 May 2012 07:20:33 GMT</pubDate>
    <description>Вместо:&lt;br&gt;    map&#123;&lt;br&gt;    print &quot;$a&#092;t$_&#092;n&quot;;&lt;br&gt;    &#125;    sort &#123;$a cmp $b&#125; keys &#037;$h;&lt;br&gt;Надо:&lt;br&gt;    map&#123;&lt;br&gt;    print &quot;$addr&#092;t$_&#092;n&quot;;&lt;br&gt;    &#125;    sort &#123;$a cmp $b&#125; keys &#037;$h;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Если не знаешь языка - вряд ли поможет, НО (wolkwww)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/9450.html#1</link>
    <pubDate>Thu, 10 May 2012 07:16:16 GMT</pubDate>
    <description>&amp;lt;pre&amp;gt;&lt;br&gt;#!/usr/bin/perl&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;use File::Find;&lt;br&gt;&lt;br&gt;$addr_file = &apos;addr.txt&apos;;&lt;br&gt;my &#037;h;&lt;br&gt;open(F, &quot;&amp;lt; $addr_file&quot;);&lt;br&gt;map&#123; chomp; $h&#123;$_&#125;=&#123;&#125;; &#125; &amp;lt;F&amp;gt;;&lt;br&gt;&lt;br&gt;&lt;br&gt;$cpath = &#096;pwd&#096;;&lt;br&gt;chomp $cpath;&lt;br&gt;&lt;br&gt;find(&#092;&amp;wanted, &quot;./&quot;);&lt;br&gt;&lt;br&gt;map&#123;&lt;br&gt;    my $h = $h&#123;$_&#125;;&lt;br&gt;    my $addr = $_;&lt;br&gt;    map&#123;&lt;br&gt;print &quot;$a&#092;t$_&#092;n&quot;;&lt;br&gt;    &#125;sort &#123;$a cmp $b&#125; keys &#037;$h;&lt;br&gt;&lt;br&gt;&#125; sort&#123; $a cmp $b&#125; keys &#037;h;&lt;br&gt;&lt;br&gt;&lt;br&gt;sub wanted&#123;&lt;br&gt;    if (-f $_)&#123;&lt;br&gt;        my $n = $File::Find::name;&lt;br&gt;        if ($n =~ s/^&#092;.//)&#123;&lt;br&gt;    $n = $cpath.$n;&lt;br&gt;        &#125;&lt;br&gt;open(F, &quot;&amp;lt; $_&quot;);&lt;br&gt;local $/=undef;&lt;br&gt;my $s = &amp;lt;F&amp;gt;;&lt;br&gt;map&#123;&lt;br&gt;    if (index($s, $_) &amp;gt;=0 )&#123;&lt;br&gt;        $&#123;$_&#125;&#123;$n&#125;++;&lt;br&gt;    &#125;&lt;br&gt;&#125; keys &#037;h;&lt;br&gt;    &#125;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;&amp;lt;pre&amp;gt;&lt;br&gt;&lt;br&gt;Это будет работать в родительском каталоге и просматривать все файлы в этом каталоге(с поиском).&lt;br&gt;Если файло сжатые, то надо разжимать (можно на лету) но для начала надо изучить основные понятия языка.&lt;br&gt;</description>
</item>

</channel>
</rss>
