Maybe it's whitespace in the file, try this
poj#!perl use strict; use autodie; use Win32::Service qw'GetServices GetStatus'; my @state_name = qw( UNKNOWN Stopped START_PENDING STOP_PENDING Started CONTINUE_PENDING PAUSE_PENDING PAUSED ERROR ); my $filename = '/Perl/XiServiceList.txt'; open FILE, '<', $filename;# autodie my $hostname = <FILE>; chomp $hostname; print "Checking Services available for '$hostname'\n"; my %available=(); GetServices($hostname,\%available) or die "$!"; # add short names $available{$_} = $_ for values %available; print "Checking services in list\n"; while (<FILE>){ # trim leading and trailing whitespace s/^\s+|\s+$//g; if (exists $available{$_}){ my $shortname = $available{$_}; my %status; GetStatus($hostname, $shortname, \%status); my $state_no = $status{'CurrentState'}; printf " ServiceStatus: %s %s %s \n", $hostname, $shortname, $state_name[$state_no]; } else { print "-- ERROR -- '$_' status not avaiable\n"; } } close FILE;
In reply to Re^11: how to print out windows service status
by poj
in thread how to print out windows service status
by ytjPerl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |