#!/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~' ];