#!/usr/bin/perl -w use strict; my $p4 = "p4"; my @jobs_output = `$p4 jobs`; my @jobs = map {if(/^(job\d+)\s/) {$1;}} @jobs_output; my $jobhashref = {}; #anonymous hash for jobs foreach my $eachjob (@jobs) { foreach (`$p4 job -o $eachjob`) { if($_ =~ /^(\w+):\t(\w+|.+)$/) { $jobhashref->{$eachjob}{$1} = $2; } } } foreach my $jobname (keys %$jobhashref) { foreach my $field (keys %{$jobhashref->{$jobname}}) { print "key: $field, value: $jobhashref->{$jobname}{$field}\n"; } }