Thank you in advance. Each anonymous array @files and @newFiles has 5 total elements.
How can I alter this nested for so that just the unique elements are printed instead of each element twice? foreach my $file (@files) { foreach my $newFileName ( @newFiles ) { print join( "\t", @$file, @$newFileName ), "\n"; # $ftp->put(@$file,@$newFileName) || die "can't put file: @$file $!"; } } ## output ## /storage/pcmd/2013-03-09.06:17.-0700.MMEpcmd.gz 2013-03-09.06_17.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:17.-0700.MMEpcmd.gz 2013-03-09.06_22.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:17.-0700.MMEpcmd.gz 2013-03-09.06_19.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:17.-0700.MMEpcmd.gz 2013-03-09.06_21.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:17.-0700.MMEpcmd.gz 2013-03-09.06_20.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:17.-0700.MMEpcmd.gz 2013-03-09.06_18.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:22.-0700.MMEpcmd.gz 2013-03-09.06_17.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:22.-0700.MMEpcmd.gz 2013-03-09.06_22.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:22.-0700.MMEpcmd.gz 2013-03-09.06_19.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:22.-0700.MMEpcmd.gz 2013-03-09.06_21.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:22.-0700.MMEpcmd.gz 2013-03-09.06_20.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:22.-0700.MMEpcmd.gz 2013-03-09.06_18.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:19.-0700.MMEpcmd.gz 2013-03-09.06_17.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:19.-0700.MMEpcmd.gz 2013-03-09.06_22.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:19.-0700.MMEpcmd.gz 2013-03-09.06_19.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:19.-0700.MMEpcmd.gz 2013-03-09.06_21.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:19.-0700.MMEpcmd.gz 2013-03-09.06_20.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:19.-0700.MMEpcmd.gz 2013-03-09.06_18.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:21.-0700.MMEpcmd.gz 2013-03-09.06_17.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:21.-0700.MMEpcmd.gz 2013-03-09.06_22.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:21.-0700.MMEpcmd.gz 2013-03-09.06_19.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:21.-0700.MMEpcmd.gz 2013-03-09.06_21.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:21.-0700.MMEpcmd.gz 2013-03-09.06_20.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:21.-0700.MMEpcmd.gz 2013-03-09.06_18.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:20.-0700.MMEpcmd.gz 2013-03-09.06_17.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:20.-0700.MMEpcmd.gz 2013-03-09.06_22.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:20.-0700.MMEpcmd.gz 2013-03-09.06_19.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:20.-0700.MMEpcmd.gz 2013-03-09.06_21.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:20.-0700.MMEpcmd.gz 2013-03-09.06_20.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:20.-0700.MMEpcmd.gz 2013-03-09.06_18.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:18.-0700.MMEpcmd.gz 2013-03-09.06_17.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:18.-0700.MMEpcmd.gz 2013-03-09.06_22.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:18.-0700.MMEpcmd.gz 2013-03-09.06_19.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:18.-0700.MMEpcmd.gz 2013-03-09.06_21.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:18.-0700.MMEpcmd.gz 2013-03-09.06_20.-0700.MMEpcmd.gz /storage/pcmd/2013-03-09.06:18.-0700.MMEpcmd.gz 2013-03-09.06_18.-0700.MMEpcmd.gz