Thread Tabelle Teilen (22 answers)
Opened by nour at 2007-02-06 11:59

nour
 2007-02-13 11:38
#74070 #74070
User since
2006-11-15
108 Artikel
BenutzerIn
[default_avatar]
Hallo ,

letzttes mal habe ich der folgende Schritt erreicht
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/perl -w
#DatenbankAbfragen

use strict;
use warnings;
use DBI;
use Net::Telnet::Cisco;

my $session = Net::Telnet::Cisco-> new (Host => '10.100.20.100);
$session->login('admin', 'name);

# Execute a command
my @output = $session->cmd('show run');
my $string = join '',@output;

my @infos = split /interface ATM/,$string;
#shift @infos;

my %hash;
for my $interface(@infos){
my ($bez) = $interface =~ /^([^\n]+)/;
my @data = $interface =~ /(pvc.*?cbr 128)/sg;
for my $daten(@data){
my ($id,$ip) = $pvc =~ /(\s*[\d\/]+).*?protocol ip ((?:\d{1,3}\.){3}\d{1,3})/s;
push @{$hash{'ATM'.$bez}}, [split(/\//,$id),$ip];
}
}

for my $atm(keys %hash){
print sprintf("%10s | %10s | %10s | %15s\n",$atm,'Daten1','Daten2','IP');
print sprintf("%10s | %10s | %10s | %15s\n",' ',@$_) for @{$hash{$atm}};
}


ich habe versucht in der Tabelle eine Neue Spalte cbr einzufügen die den Zahl 128 enthält .


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/perl -w
#DatenbankAbfragen

use strict;
use warnings;
use DBI;
use Net::Telnet::Cisco;

my $session = Net::Telnet::Cisco-> new (Host => '10.100.20.100);
$session->login('admin', 'name);

# Execute a command
my @output = $session->cmd('show run');
my $string = join '',@output;

my @infos = split /interface ATM/,$string;
#shift @infos;

my %hash;
for my $interface(@infos){
my ($bez) = $interface =~ /^([^\n]+)/;
my @data = $interface =~ /(pvc.*?cbr 128)/sg;
for my $daten(@data){
my ($id,$ip) = $pvc =~ /(\s*[\d\/]+).*?protocol ip ((?:\d{1,3}\.){3}\d{1,3})/s;
push @{$hash{'ATM'.$bez}}, [split(/\//,$id),$ip];
}
}

for my $atm(keys %hash){
print sprintf("%10s | %10s | %10s | %10s |%15s\n",$atm,'Daten1','Daten2','IP','cbr');
print sprintf("%10s | %10s | %10s | %10s |%15s\n",' ',@$_,'128') for @{$hash{$atm}};
}


mein Problem : ind dieser zeile in dem Code oben :" my @data = $interface =~ /(pvc.*?cbr 128)/sg;" es wurde cbr eingegeben ,

kann ich jetzt die Spalte " cbr" in meiner Tabelle einfügen sodass mein Skript trägt mir automatich die zahl 128 ohne dass einzugeben genau wie für die anderen Spalten "Daten1", "Daten2", "IP" .

danke im Vraus

View full thread Tabelle Teilen