Chris, May I ask you to show the sample data of the array '@files' and '@newFiles', I presume the array looks like this
my @files = ( ["/storage/pcmd/2013-03-09.06:17.-0700.MMEpcmd.gz"], ["/storage/pcmd/2013-03-09.06:22.-0700.MMEpcmd.gz"], ["/storage/pcmd/2013-03-09.06:19.-0700.MMEpcmd.gz"], ["/storage/pcmd/2013-03-09.06:21.-0700.MMEpcmd.gz"], ["/storage/pcmd/2013-03-09.06:20.-0700.MMEpcmd.gz"] ); my @newfiles = ( [ "2013-03-09.06_17.-0700.MMEpcmd.gz", "2013-03-09.06_22.-0700.MMEpcmd.gz", "2013-03-09.06_19.-0700.MMEpcmd.gz", "2013-03-09.06_21.-0700.MMEpcmd.gz", "2013-03-09.06_20.-0700.MMEpcmd.gz" ], [ "2013-03-09.06_17.-0700.MMEpcmd.gz", "2013-03-09.06_22.-0700.MMEpcmd.gz", "2013-03-09.06_19.-0700.MMEpcmd.gz", "2013-03-09.06_21.-0700.MMEpcmd.gz", "2013-03-09.06_20.-0700.MMEpcmd.gz" ], [ "2013-03-09.06_17.-0700.MMEpcmd.gz", "2013-03-09.06_22.-0700.MMEpcmd.gz", "2013-03-09.06_19.-0700.MMEpcmd.gz", "2013-03-09.06_21.-0700.MMEpcmd.gz", "2013-03-09.06_20.-0700.MMEpcmd.gz" ], [ "2013-03-09.06_17.-0700.MMEpcmd.gz", "2013-03-09.06_22.-0700.MMEpcmd.gz", "2013-03-09.06_19.-0700.MMEpcmd.gz", "2013-03-09.06_21.-0700.MMEpcmd.gz", "2013-03-09.06_20.-0700.MMEpcmd.gz" ], ); foreach my $file (@files) { foreach my $newFileName (@newfiles) { print join( "\t", @$file, @$newFileName ), "\n"; #$ftp->put(@$file,@$newFileName) || die "can't put file: @$file $!"; } } best, Shaji ------------------------------------------------------------------------------- Your talent is God's gift to you. What you do with it is your gift back to God. ------------------------------------------------------------------------------- ________________________________ From: Chris Stinemetz <chrisstinem...@gmail.com> To: Perl Beginners <beginners@perl.org> Sent: Saturday, 9 March 2013 6:54 PM Subject: anonymous array for loop 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