If I have the input files
file1.txt:
1.he is man
2.don't you
3.xyzzy
4.what goes on
and
file2.txt:
he is
z
what are
try to do
and I run the script
pm_11118096_1.pl:
# pm_11118096_1.pl 15jun20waw
use strict;
use warnings;
my $file1 = 'file1.txt';
my $file2 = 'file2.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 $f3,'>',"do.txt" or die "$!";
open my $h1, '<', $file1 or die "cannot open file1";
my @a1 = <$h1>;
close $h1;
print grep {$_ !~ $match} @a1;
# print $f3 grep {$_ !~ $match} @a1;
I get the following output:
c:\@Work\Perl\monks\Sidd@786>perl pm_11118096_1.pl
2.don't you
4.what goes on
If I comment out the
# print grep {$_ !~ $match} @a1;
line and uncomment the
print $f3 grep {$_ !~ $match} @a1;
line, I get an output file do.txt with the content
2.don't you
4.what goes on
(and no output in the command window).
When you run your code with these input files, what do you get?
Give a man a fish: <%-{-{-{-<
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.