#!/usr/bin/perl use strict; use warnings; my %PROCS = (               httpd => 'Apache Webserver',               mysqld => 'MySQL Server',               dummy => 'nicht existierender Prozess',             ); my %STATE = (              S => 'am schlafen',              R => 'am laufen',              T => 'angehalten',              Z => 'Zombie',              D => 'im Koma'             ); my @messages; #my @found; my $pattern =  '^(\w).+(' . join('|' => keys %PROCS) . ')'; open(PS, 'ps -A -o stat,cmd |') or die $!; ; while(){    if(/$pattern/) {        push(@messages, sprintf("%s ist %s", $PROCS{$2}, $STATE{$1})); #        push(@found, $2);    } } close(PS); print "$_\n" for @messages; #delete @PROCS{@found}; #print "-" x 30,"\n"; #print "Prozess $_ nicht gefunden!\n" for keys %PROCS;