http://www.perlmonks.org?node_id=897867


in reply to how to automate the regular expression match from a file?

I recommend Regexp::Assemble for something like this. An example:
use warnings; use strict; use Regexp::Assemble; my @keywords = qw( a an the then that this ); my $key_rea = Regexp::Assemble->new; $key_rea->add($_) for @keywords; my $key_re = $key_rea->re; my $data = do { undef $/; <DATA> }; print "$1\n" while $data =~ m/(\b$key_re\b)/g; __DATA__ hello everyone, i had been trying to make a lexical analyzer for c, wh +ere all the keywords were to be inputted in a text file keywords. thi +s i stored in an array. but this process is not being automated. the +code i wrote is as follows :- ... the keywords file contains:- auto continue enum if short break switch +volatile default extern int signed typedef while case do float long s +izeof union char double for register static unsigned const else goto +return struct void