#!/usr/bin/perl #read each line in test1.txt into data_file array use strict; use warnings; my $data_file = "test1.txt"; my $names_file = "code.txt"; my $target_file = "target.txt"; my @data = (); # Cannot be the same name as above my @names_data = (); my @target = (); my $line = ''; open(DATA, $data_file) || die ("Could not open file! $!\n"); @data=; close DATA; open(NAMES, $names_file) || die ("Could not open file! $!\n"); @names_data=; close NAMES; #read each line in code.txt into a names_file array foreach $line (@data) { #create loop that reads each ID in #code.txt (NAMES array), searches for #each in array elements for test1.txt #(DATA array), redirects a new #(NAMES).html for each element foreach ( @names_data ) { chomp; push @target, qq|$line<0> > +("$_<0>.html")\n|; #I do not understand what you are trying to do above... #Just modify the part between the pipes |...\n| to include #whatever variables you are wanting. } } open TARGET ">$target_file" || die "Cannot open target file. $!\n"; print TARGET @target; close TARGET;