Thread Auslesen von einer Datei - Perl (26 answers)
Opened by JEns at 2011-07-19 10:25

renee
 2011-07-19 12:15
#150549 #150549
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also so habe ich das jetzt mal getestet:

Skript:
Code (perl): (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
#!/usr/bin/perl

use strict;
use warnings;

my %status;
my $file = './status.dat';
{
    local $/ = "hoststatus\n{";
    if ( open my $fh, '<', $file ) {
        while ( my $block = <$fh> ) {
            my ($hostname,$status) = $block =~ m!
                host_name:([^\n]+)
                .*?
                scheduled_downtime_depth=(\d+)
            !xms;
            next if !( $hostname && $status );
            $status{$hostname} = $status;
        }
    }
    else {
        print "Fehler beim Einlesen von $file: $!\n";
    }
}

for my $host ( keys %status ) {
    print $host,"\n" if $status{$host} == 1;
}


status.dat:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
hoststatus
{
host_name:P20001
..... # viele weitere werte
scheduled_downtime_depth=1 (1 oder 0)
}
hoststatus
{
host_name:P20002
..... # viele weitere werte
scheduled_downtime_depth=1 (1 oder 0)
}
hoststatus
{
host_name:P20003
..... # viele weitere werte
scheduled_downtime_depth=0 (1 oder 0)
}


Ausgabe:
Code: (dl )
1
2
3
entwicklung@vm:~/community$ perl get_status.pl
P20001
P20002
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/

View full thread Auslesen von einer Datei - Perl