use strict; use Data::Dumper; #Header printf "%-12s %-10s %s\n", qw(Number User Comments); $result =`cmd to get the result`; #Formatting the output while ($result =~ /number (\d+).*user:\s*(\S+)\s*#\s*(.*)/g) { printf "%-12s %-10s %s\n", $1, $2, $3; #Pushing the result from variables to 3 Arrays push @numbers, $1; push @users , $2; push @comments, $3; } #References to Array my $numbers_ref = \@numbers; my $users_ref = \@users; my $comments_ref = \@comments; #Hash of array references my %hash = ( ) #### Number User Comments 1234567 sam changed abc in the file. 5646542 john deleted asds in the file.