[5334] | 1 | #!/usr/bin/env perl
|
---|
| 2 |
|
---|
| 3 | #maak een mooi systeem met hash aanroepen om snel gegevens te verwerken
|
---|
| 4 | sub parse_config {
|
---|
| 5 | foreach my $id (sort keys %config) {
|
---|
| 6 | my $rawData = $config{$id};
|
---|
| 7 | $rawData =~ s/#.*\n/\n/g; #wegslopen comments
|
---|
| 8 | $rawData =~ s/\s*[\r,\n]+\s*/:::/g; #spaties+enter+spaties vervangen door :::
|
---|
| 9 | $rawData =~ s/^::://; #::: aan het begin weghalen
|
---|
| 10 | $rawData =~ s/:::$//; #::: aan het eind weghalen
|
---|
| 11 | my @configArray = split( /:::/, $rawData); #array er van maken
|
---|
| 12 | foreach $line (@configArray) {
|
---|
| 13 | (my $name, my $value) = split( /\=/, $line);
|
---|
| 14 | $$name{$id} = $value;
|
---|
| 15 | };
|
---|
| 16 | };
|
---|
| 17 | }; #end parse_config
|
---|
| 18 |
|
---|
| 19 | sub clean_ip {
|
---|
| 20 | local($ip,$name) = @_;
|
---|
| 21 | split('/',$ip);
|
---|
| 22 | print "@_[0]|$name\n";
|
---|
| 23 |
|
---|
| 24 | };
|
---|
| 25 |
|
---|
| 26 | #ga alle config files doorwerken
|
---|
| 27 | foreach my $file (`ls -1`) {
|
---|
| 28 | chomp($file);
|
---|
| 29 | $file .= "/wleiden.conf";
|
---|
| 30 | if (not ($file =~ /^CNode/ or $file =~ /^proxy/)) {
|
---|
| 31 | }
|
---|
| 32 | else {
|
---|
| 33 | print STDERR "Working on $file...\n";
|
---|
| 34 | #clean up all old variablen
|
---|
| 35 | @$_ = [] foreach qw(static_dhcp);
|
---|
| 36 | $$_ = "" foreach qw(location master_ip gw_open nodetype nodename
|
---|
| 37 | OS status X Y N E OS DISK AGGREGATE);
|
---|
| 38 | %$_ = () foreach qw(config TYPE IP DESC SDESC SPEED DHCP DHCP_STATIC
|
---|
| 39 | OSPF_BROADCAST OSPF_NEIGHBORS MODE ESSID CHANNEL
|
---|
| 40 | POLAR ANTENNA GAIN DIRECTION BEAMWIDTH CABLE
|
---|
| 41 | HEIGHT ROUTE);
|
---|
| 42 | #end cleanup
|
---|
| 43 |
|
---|
| 44 | #load config file
|
---|
| 45 | do($file) || die("Cann't open file");
|
---|
| 46 |
|
---|
| 47 | #parse de config om hem snel en makkelijk te kunnen gebruiken
|
---|
| 48 | print STDERR "\t Parsing config...";
|
---|
| 49 | parse_config;
|
---|
| 50 | print STDERR "DONE\n";
|
---|
| 51 | clean_ip($master_ip,$nodename);
|
---|
| 52 | foreach $key (keys %IP) {
|
---|
| 53 | clean_ip($IP{$key},$nodename);
|
---|
| 54 | }
|
---|
| 55 | }
|
---|
| 56 |
|
---|
| 57 | }; #end main
|
---|
| 58 |
|
---|
| 59 | main;
|
---|
| 60 | exit 0;
|
---|
| 61 |
|
---|
| 62 |
|
---|