#Open add_lines.csv and add lines where needed open(ADD, "$addstrings") || die("cannot open file $addstrings"); @addlines=; close(ADD); foreach $line (@addlines) { ($section,$newline)=split(/,<>,/,$line); chomp $section; chomp $newline; $newline = "\n".$newline; &AddLine($settings, $section, $newline); } sub AddLine{ my $file = $_[0]; my $section = $_[1]; my $newline = $_[2]; use Tie::File; tie @array, 'Tie::File', $file or die ("cannot open $file"); print "Looking for section: $section so we can add line: $newline\n"; foreach (@array){ if (/\Q$section\E/){ $_ .= $newline; last; } } untie @array;