#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use feature 'say'; my $queuecmd = 'queues.txt'; open(my $fh, '<', $queuecmd) or die "Could not open: '".$queuecmd."' $!"; chomp(my @lines= <$fh>); close $fh or warn "Could not close: '".$queuecmd."' $!"; print Dumper \@lines; my @queues = grep {s/.*count= *(\d+),.* Queue=or_event_queue\s*/$1/} @lines; say $queues[0]; __END__ $ perl test.pl $VAR1 = [ 'Host \'server02\' connected', '============================================================', 'Hostname: \'server02\'', ' count= 0, delivering= 0, Queue=opr_action_launch_queue', ' count= 0, delivering= 0, Queue=queue/alert_engine_notification', ' count= 3079, delivering= 0, Queue=or_event_queue', ' count= 0, delivering= 0, Queue=recipient_notification', ' count= 0, delivering= 0, Queue=queue/alert_engine_alert', ' count= 0, delivering= 0, Queue=failed_recipient_notification' ]; 3079 #### #!/usr/bin/perl use strict; use warnings; use Data::Dumper; use feature 'say'; my $queuecmd = 'ls -la'; open(my $cm, '-|', $queuecmd) or die "Could not open pipe command: '".$queuecmd."' $!"; chomp(my @lines= <$cm>); close $cm or die "Could not close pipe command: '".$queuecmd."' $!"; print Dumper \@lines; my @queues = grep {s/.*count= *(\d+),.* Queue=or_event_queue\s*/$1/} @lines; say $queues[0] if $queues[0]; __END__ $ perl test.pl $VAR1 = [ 'total 20', 'drwxr-xr-x 2 tinyos tinyos 4096 Dec 27 14:38 .', 'drwxr-xr-x 5 tinyos tinyos 4096 Dec 27 14:37 ..', '-rw-r--r-- 1 tinyos tinyos 987 Dec 27 14:37 module.pl', '-rw-r--r-- 1 tinyos tinyos 1109 Dec 27 14:38 test.pl', '-rw-r--r-- 1 tinyos tinyos 1111 Dec 27 14:37 test.pl~' ]; #### #!/usr/bin/perl use strict; use IO::All; use warnings; use Data::Dumper; use feature 'say'; my $queuecmd = 'queues.txt'; my @lines = io($queuecmd)->chomp->slurp; # Chomp as you slurp print Dumper \@lines; my @queues = grep {s/.*count= *(\d+),.* Queue=or_event_queue\s*/$1/} @lines; say $queues[0]; __END__ $ perl module.pl $VAR1 = [ 'Host \'server02\' connected', '============================================================', 'Hostname: \'server02\'', ' count= 0, delivering= 0, Queue=opr_action_launch_queue', ' count= 0, delivering= 0, Queue=queue/alert_engine_notification', ' count= 3079, delivering= 0, Queue=or_event_queue', ' count= 0, delivering= 0, Queue=recipient_notification', ' count= 0, delivering= 0, Queue=queue/alert_engine_alert', ' count= 0, delivering= 0, Queue=failed_recipient_notification' ]; 3079 #### #!/usr/bin/perl use strict; use IO::All; use warnings; use Data::Dumper; use feature 'say'; my $queuecmd = 'ls -la'; my $io = io->pipe($queuecmd)->chomp; my @queues; while ( defined(my $queue = $io->getline) ) { push @queues, $queue if (index($queue, 818) != -1); # instead of grep or $queue =~ m/pattern/ } print Dumper \@queues; say $queues[0]; # my @queues = grep {s/.*count= *(\d+),.* Queue=or_event_queue\s*/$1/} @lines; # say $queues[0]; __END__ $ perl module.pl $VAR1 = [ '-rw-r--r-- 1 tinyos tinyos 818 Dec 27 14:38 test.pl' ]; -rw-r--r-- 1 tinyos tinyos 818 Dec 27 14:38 test.pl #### #!/usr/bin/perl use strict; use IO::All; use warnings; use Data::Dumper; use feature 'say'; my $queuecmd = 'ls -la'; my @lines = io->pipe($queuecmd)->chomp->slurp; print Dumper \@lines; my @queues = grep {s/.*count= *(\d+),.* Queue=or_event_queue\s*/$1/} @lines; say $queues[0] if $queues[0]; __END__ $ perl module.pl $VAR1 = [ 'total 24', 'drwxr-xr-x 2 tinyos tinyos 4096 Dec 27 17:12 .', 'drwxr-xr-x 5 tinyos tinyos 4096 Dec 27 14:37 ..', '-rw-r--r-- 1 tinyos tinyos 462 Dec 27 17:12 module.pl', '-rw-r--r-- 1 tinyos tinyos 585 Dec 27 15:04 module.pl~', '-rw-r--r-- 1 tinyos tinyos 818 Dec 27 14:38 test.pl', '-rw-r--r-- 1 tinyos tinyos 1111 Dec 27 14:37 test.pl~' ];