Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12776[/thread]

Zeilensprung in einer Ausgabe (Seite 2)



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Gast Gast
 2008-11-18 15:46
#116367 #116367
also:


my $SP = $ARGV[6];
my $PORT = $ARGV[8];

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
my $file = "/home/neu.txt";
  
open my $NAVI, "<", $file;
{       
    local $/ = "\n\n";  
    while(my $block = <$NAVI>) {                                                  
                    next unless index($block, "SP Name: SP". $SP ) != -1  and
                    index($block, "SP Port ID: ". $PORT ) != -1;
        my ($status) = $block =~ /Link Status: (\w+)/;
        print "Link status for SP $SP (Port $PORT): $status\n";
        print "blub\n";
    }
  }
  close ($NAVI);


ich habe zu testen mal ein
Code (perl): (dl )
print "blub";
gemacht.
Wird auch nicht ausgegeben.

Eine Frage zum index(), zwischen dem "SP Name: SP $SP" sind mehrere Leerzeichen nicht nur eins. Muss man diese berücksichtigen??

Danke und Grüße
renee
 2008-11-18 15:56
#116368 #116368
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Gast+2008-11-18 14:46:51--
my $SP = $ARGV[6];
my $PORT = $ARGV[8];
mit wievielen Parametern rufst Du das denn auf? Hast Du die GetOptions-Geschichte rausgenommen? Warum willst Du auf das Parameterparsing verzichten? Was machst Du wenn die Reihenfolge von -sp und -p vertauscht wird?

Quote
Code (perl): (dl )
1
2
3
my $file = "/home/neu.txt";
  
open my $NAVI, "<", $file;
Hier fehlt die Fehlerbehandlung (das "or die...")

Quote
Eine Frage zum index(), zwischen dem "SP Name: SP $SP" sind mehrere Leerzeichen nicht nur eins. Muss man diese berücksichtigen??

Ja
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-11-18 16:01
#116369 #116369
ich muss das Script erstmal neu Ordnen und neu gestalten.
Auch die Parameter muss ich neu gestalten.

Ich habe es teilweise gemischt, muss jetzt erst mal neu schreiben.

Danke erst mal.
Gast Gast
 2008-11-18 18:23
#116372 #116372
so habe jetzt mein Script aufgeräumt, mache jetzt alles über GetOptions.

Leider bekomme ich mit deinem Quelltext keine Ausgabe.

Die Ausgabe sieht folgendermaßen aus:

SP Name: SP A
SP Port ID: 4
SP UID: 50:06:01:60:C1:E0:2B:7A:50:06:01:60:41:E0:2B:7A
Link Status: Up

Mein Quelltext:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
open (NAVI ,"$Ausgabe ");
  {     
    local $/ = "\n\n";  
          while(my $block = <NAVI> ){                     
                    next unless index($block,"SP Name:             SP". $SP) != -1  and
                    index($block,"SP Port ID:          ". $PORT) != -1;        
        my ($status) = $block =~ /^Link Status:\s+(\w+)/;
        print "Link status for SP $SP (Port $PORT): $status\n";        
    }
  }
  close(NAVI);  


Die $Ausgabe ist vorhanden.
Der Fehler liegt irgendwo zeichen dem
Code (perl): (dl )
1
2
3
next unless index($block,"SP Name:             SP". $SP) != -1  and
index($block,"SP Port ID:          ". $PORT) != -1;        
my ($status) = $block =~ /^Link Status:\s+(\w+)/;


Wenn ich eine print "TEST" davor und danach mache bekomme ich das auch angezeigt, zwichen dem index nicht.

Liegt es an der Syntax bzw. an den Leerzeichen in der Ausgabe?
Gibt es eine andere Möglichkeit?

Gruß
renee
 2008-11-18 19:20
#116373 #116373
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bei dem ersten index fehlt ein Leerzeichen nach SP und vor dem Anführungszeichen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Gast Gast
 2008-11-19 12:21
#116394 #116394
hi,

es funktioniert, danke noch mal
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2008-11-18 14:19.