my $parser; my $m = $params{'parse_method'}; # from the config file # this is a hash of parser names to modules my %flavors = ( 'POS' => 'LSI::Parser::POS', 'Regexp' => 'LSI::Parser::POS::Regexp', 'JSTOR' => 'LSI::Parser::POS::JSTOR' ); my $flavor = $flavors{ $m } || 'LSI::Parser'; # default # This is what makes me uneasy... eval "require $m" ; $self->{'parser '} = ($m)->new();