<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Проблема с перловым скриптом]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=18365</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=18365&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Проблема с перловым скриптом».]]></description>
		<lastBuildDate>Fri, 25 Nov 2011 18:00:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Проблема с перловым скриптом]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=228355#p228355</link>
			<description><![CDATA[<p>день добрый!<br />имеется странная проблема с небольшим перловым скриптом, крайне надеюсь на помощь..</p><p>итак, есть достаточно объемный грепнутый вывод с цисок следующего вида</p><div class="codebox"><pre><code>$ cat data
AGG22;sh inve
AGG22;NAME: &quot;CISCO7606-S&quot;, DESCR: &quot;Cisco Systems Cisco 7600 6-slot Chassis System&quot;
AGG22;CISCO7606-S;SN FOX
AGG22;
AGG22;NAME: &quot;CLK-7600 1&quot;, DESCR: &quot;OSR-7600 Clock FRU 1&quot;
AGG22;CLK-7600;SN NWG
AGG22;
AGG22;NAME: &quot;CLK-7600 2&quot;, DESCR: &quot;OSR-7600 Clock FRU 2&quot;
AGG22;CLK-7600;SN NWG
AGG22;</code></pre></div><p>кат скрипта:<br /></p><div class="codebox"><pre><code>$ cat translate.pl 
#!/usr/bin/perl 
use strict;
use warnings;

my $crap;
my $descr;
my $result;

while ( my $line = &lt;STDIN&gt; ) 
{ 
chomp ($line);
if ( $line =~ /;\n/ )
{next;}
if ( $line =~ / inve/ )
{next;}
chomp ($line);

print &quot;new iteration\n&quot;;
print &quot;$line\n&quot;;
if ( $line =~ /.*DESCR.*/)
    {
    print &quot;descr line found!\n&quot;;
    ($crap, $descr) = split (/DESCR: /, $line);
    print &quot;$descr\n&quot;;
    next;
    }
if ($line =~ /.*SN.*/){
print &quot;SN line found!!!!\n&quot;;
print &quot;$line&quot;.&quot;$descr&quot;.&quot;\n&quot;;
}
}</code></pre></div><p>и получаемый вывод:<br /></p><div class="codebox"><pre><code>$ perl translate.pl &lt; data
&quot;Cisco Systems Cisco 7600 6-slot Chassis System&quot;
&quot;OSR-7600 Clock FRU 1&quot;LK-7600;SN NWG
&quot;OSR-7600 Clock FRU 2&quot;LK-7600;SN NWG</code></pre></div><p>предполагается, что скрипт должен взять содержимое строки n-1 после ключевого слова &quot;DESCR: &quot; и вписать его в конец строки n .. но блин, такое ощущение, что содержимое записывается с начала строки, хотя стоит оператор &quot;.&quot;.. да и без него тоже самое..</p><p>вывод с дебаговыми принтами:</p><p>$ perl translate.pl &lt; data<br /></p><div class="codebox"><pre><code>new iteration
AGG22;NAME: &quot;CISCO7606-S&quot;, DESCR: &quot;Cisco Systems Cisco 7600 6-slot Chassis System&quot;
descr line found!
&quot;Cisco Systems Cisco 7600 6-slot Chassis System&quot;
new iteration
AGG22;CISCO7606-S;SN FOX
SN line found!!!!
&quot;Cisco Systems Cisco 7600 6-slot Chassis System&quot;
new iteration
AGG22;
new iteration
AGG22;NAME: &quot;CLK-7600 1&quot;, DESCR: &quot;OSR-7600 Clock FRU 1&quot;
descr line found!
&quot;OSR-7600 Clock FRU 1&quot;
new iteration
AGG22;CLK-7600;SN NWG
SN line found!!!!
&quot;OSR-7600 Clock FRU 1&quot;LK-7600;SN NWG
new iteration
AGG22;
new iteration
AGG22;NAME: &quot;CLK-7600 2&quot;, DESCR: &quot;OSR-7600 Clock FRU 2&quot;
descr line found!
&quot;OSR-7600 Clock FRU 2&quot;
new iteration
AGG22;CLK-7600;SN NWG
SN line found!!!!
&quot;OSR-7600 Clock FRU 2&quot;LK-7600;SN NWG
new iteration
AGG22;</code></pre></div><p>центос крутится под виртуалкой, думаю, не в этом ли проблема...<br />спасибо заранее, очень надеюсь на помощь..</p>]]></description>
			<author><![CDATA[null@example.com (Dvalin)]]></author>
			<pubDate>Fri, 25 Nov 2011 18:00:10 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=228355#p228355</guid>
		</item>
	</channel>
</rss>
