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

JEns
 2011-07-19 11:45
#150544 #150544
User since
2011-06-06
19 Artikel
BenutzerIn
[default_avatar]
Okay, ich habe mal versucht das Skript von renee auszuführen, mir ist es eigentlich erstaunlich klar wie es arbeitet, trotzdem kriege ich garkeine ausgabe, egal wo ich ein Print hinpacke, es kommt nichts in die shell zurück (ich für es auf einen RH5 server aus)



Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/perl
my %status;
my $file = '/var/nagios/status.dat';
#print TEST;
{
local $/ = "hoststatus\s{";
if ( open my $fh, '<', $file ) {
while ( my $block = <$fh> ) {
my ($hostname,$status) = $block =~ m!
host_name: (.*?)
\n.*?
scheduled_downtime_depth=(\d+)
!xms;
$status{$hostname} = $status;
#print TEST;
}
}
}
for my $host ( keys %status ) {
print $host,"\n" if $status{$host} == 1;
}


Frage:
wofür steht das "<" in der codezeile: ( open my $fh, '<', $file ) ?
was bedeutet "=~" - "m!" in perl ?? (= $block =~ m!)

UPDATE: Ich kriege die "TEST"ausgabe hin, hätte dran denken sollen den String in "" zu setzen

gruß
Last edited: 2011-07-19 11:51:46 +0200 (CEST)

View full thread Auslesen von einer Datei - Perl