use warnings; use strict; my @p = qw[PA5098 PA5100 PA5092 PA3175]; for my $i ( 0 .. $#p ) { last if $i == $#p; for my $j ( 0 .. $#p ) { print join( " " => ( $p[$i], $p[$j], $j - $i ) ), $/ unless $i >= $j; } } #### PA5098 PA5100 1 PA5098 PA5092 2 PA5098 PA3175 3 PA5100 PA5092 1 PA5100 PA3175 2 PA5092 PA3175 1