use strict;
use warnings;
my $file1 = \<<"END1";
he/is/man/reg[30]
don't/you/reg[31]
what/goes/on/reg[32]
END1
my $file2 = \<<"END2";
/is/man/reg[30]
on/reg[32]
try/to/do/reg[65]
END2
open(my $f3, ">", "C:/Users/Siddharth/Desktop/do.txt")
or die "Can't open < input.txt: $!";
open my $h2, '<', $file2 or die "cannot open file2";
my @a2 = <$h2>;
close $h2;
chomp @a2;
my $match = join '|', @a2;
$match = qr/$match/;
open my $h1, '<', $file1 or die "cannot open file1";
my @a1 = <$h1>;
close $h1;
my $fh = grep {$_ !~ $match} @a1;
print $f3 $fh;
#print grep {$_ !~ $match} @a1;