####################################################################
## MAIN
####################################################################
my $input_file = get_file ('no_sense_hogwash.txt'); #define an input f
+ile
my %ignore = (
'and' => 1,
);
while($input_file =~ /(\w[\w'-]*)/g) {
my $word = lc $1;
if (defined $ignore{$word}) {
next;
}
}
print "$input_file\n";
####################################################################
## SUBS
####################################################################
sub get_file { #to open a file (currently restriction.txt)
#and store all the data within $sequence
my ($input_file) = @_;
open (IN, $input_file) or die "Cannot open $input_file for reading:
+$OS_ERROR\n"; #open a filehandle or die
my $sequence = '';
foreach my $line (<IN>) { #for each line in the filehandle IN
if ($line =~ /^\s*$/) { # discard blank line
next; #skip the rest of the statement block and continue with th
+e next iteration of the loop
}
$sequence .= $line # add (concatenate) to a string sequence
}
return $sequence; #return the string sequence
close IN;
}
I'd like to extract from a file all the text apart from the word 'and', but this code doesn't do that (but I tell it to do that, don't I?). Please help me, where is the bug?