#!/usr/bin/perl use strict; use warnings; my %status; my $file = '/var/nagios/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"; exit 2; } } my $ausgabe; for my $host ( keys %status ) { if ( $status{$host} == 1){ $ausgabe = $ausgabe." $host \n"; } } print $ausgabe; exit 0;