<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Проблема с перловым скриптом]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=18365&amp;type=atom" />
	<updated>2011-11-25T18:00:10Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=18365</id>
		<entry>
			<title type="html"><![CDATA[Проблема с перловым скриптом]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=228355#p228355" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Dvalin]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20690</uri>
			</author>
			<updated>2011-11-25T18:00:10Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=228355#p228355</id>
		</entry>
</feed>
