use strict; use warnings; open (OUTFILE, "< History21.txt") or die "Could not open source file. $!"; open (NEW_MED, "> History_MED1.txt") or die "Could not open med file. $!"; open (NEW_SUR, "> History_SUR1.txt") or die "Could not open sur file. $!"; my $count2 = 1; while (my $line = ) { my @rows = split(/\|\|/, $line); if ($rows[1] =~ m/\[R\]/g) { if ((my @var)= $rows[1] =~ m/\](.*?)\[/g) { foreach my $var (@var) { if ($var =~ /^\s$/g) { #DO NOTHING SINCE WE ONLY WANT IF THERE IS ANYTHING INSIDE THE 2 R BRACKETS } else { print NEW_MED "$rows[0] || $var\n"; } } } } if ($rows[2] =~ m/\[R\]/) { if ((my @var2)= $rows[2] =~ m/\](.*?)\[/g) { # I AM ASSUMING IT WILL RETURN SIMILAR TO THE PREVIOUS IF STATEMENT FOR ROW1 ABOVE foreach my $var2 (@var2) { if ($var2 =~ /^\s$/g) { #DO NOTHING SINCE WE ONLY WANT IF THERE IS ANYTHING INSIDE THE 2 R BRACKETS } else { print NEW_SUR "$rows[0] || $var2\n"; } } } } $count2++; } close(NEW_MED); close(NEW_SUR);