in reply to unless condition not working

These are just stylistic issues and won't help you solve your problem, but...

foreach my $line (@::FileLines) { unless(grep(/$pattern/,$line)){ my @karatSplit = split('\^', $line); print "$karatSplit[1]\n"; } }

That code can be better written as:

foreach my $line (@::FileLines) { next unless grep(...); my @karatSplit = ... }

Also, @::FileLines looks like bad design (why are you directly accessing an array in your main module, instead of using a reference to it?)

please bare with

I'd rather bear with.