use strict; use warnings; use Data::Dumper; my @S; while () { push @S, [split]; } print "-----TRIPLETS-------\n"; print Dumper \@S; my @new = map { [@{ $_ }[0 .. 1]] } @S; print Dumper \@new; __DATA__ b c a a c d d e b #### -----TRIPLETS------- $VAR1 = [ [ 'b', 'c', 'a' ], [ 'a', 'c', 'd' ], [ 'd', 'e', 'b' ] ]; $VAR1 = [ [ 'b', 'c' ], [ 'a', 'c' ], [ 'd', 'e' ] ];