#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use IPC::System::Simple 'capture'; my $cmd = "setop --intersect " . join " ", @ARGV; chomp (my @output = capture( $cmd )); my %hash; $hash{$ARGV[1]} = \@output; print Dumper \%hash; __END__ $ perl test.pl file1.txt file2.txt $VAR1 = { 'file2.txt' => [ 'Sample line 1', 'Sample line 2', 'Sample line 3', 'Sample line 4', 'Sample line 5', 'Sample line 6', 'Sample line 7', 'Sample line 8', 'Sample line 9', 'Sample line 10' ] }; #### Sample line 1 Sample line 2 Sample line 3 Sample line 4 Sample line 5 Sample line 6 Sample line 7 Sample line 8 Sample line 9 Sample line 10 #### Sample line 1 Sample line 2 Sample line 3 Sample line 4 Sample line 5 Sample line 6 Sample line 7 Sample line 8 Sample line 9 Sample line 10 Sample line 11 Sample line 12 Sample line 13 Sample line 14 Sample line 15 Sample line 16 Sample line 17 Sample line 18 Sample line 19 Sample line 20