sub find_parsers { my @parsers; if (!load_module('XML::Bare')) { warn("warn: XML::Bare not available\n"); } else { push @parsers, [ 'XML::Bare', get_parser_desc_name('XML::Bare'), sub { XML::Bare->new(text => $xml)->parse() } ]; } if (!load_module('XML::LibXML')) { warn("warn: XML::LibXML not available\n"); } else { push @parsers, [ 'XML::LibXML', get_parser_desc_name('XML::LibXML'), sub { XML::LibXML->new()->parse_string($xml) } ]; } return \@parsers; }