the output that i wrote in the post is an error
But you haven't shown what the correct output should be so we can only guess what you are trying to do. Here's my guess, matching a combination of words from FIC with lines in FICC
#!/usr/bin/perl
use strict;
my @FIC = ();
#open FIC,'<','fic.txt' or die "$!";
#while (my $line = <FIC>){
# next unless $line =~ /\S/;
# my @words = split /\s+/,$line;
# push @FIC,[ @words ];
#}
#close FIC;
@FIC = (
[ qw(chirac prime paris)],
[ qw(chirac prime jacques) ],
[ qw(chirac prime president) ],
[ qw(chirac paris france) ],
[ qw(chirac paris french) ],
);
my $u=0;
open FICC,'<','ficc.txt' or die "$!";
#open OUT, '>','output.txt' or die "$!";
while (my $line = <FICC>){
++$u;
next unless $line =~ /\S/; # skip blank lines
for my $ar (@FIC){
my @matched = grep $line=~/$_/,@$ar;
if (@matched == @$ar){
print "$u: $line matched all words : @matched\n\n";
#print OUT "$u: $line matched all words : @matched\n\n";
last;
}
}
}
close FICC;
#close OUT
__DATA__
chirac presidential migration
chirac presidential paris
jacques chirac has been the prime minster and the president
chirac presidential 007
chirac paris migration
chirac aaa french bbb paris ccc
poj |