in reply to Reading Xml files

I do not want to use the xml parser module x2

Why? (And what is "the xml parser module" (there are quite a few modules in the XML namespace, several of them being parsers)).

Sorry to sound like a purist, but there are very good reasons to use an XML parser to process XML (see On XML parsing for example). The usual reasons NOT to use one are speed, which can be a good reason, problems with installing the modules, which can often be solved, and just wanting a quick'n dirty solution, which is often not a good reason, as an XML processing module can be easier to use than writing regexps. And besides if I don't try to sell (well, give...) you an XML processing module, who will? ;--)

Replies are listed 'Best First'.
Re^2: Reading Xml files
by gzayzay (Sexton) on Mar 02, 2006 at 15:42 UTC
    I will like to share this code with other users. thus if the person don't have XML::Parser installed the code will not work. To me, except the XML::Parser is a core module, every other person using my code will have to install it before getting my code to work as desired. I am trying to have a lot of flexibility in code so that there are not a lot of constrains to get my code to work. that is why I don't want to use the XML::Parser. I will love it to make my task easier but that will make my script to not be as portable

      XML::Parser is pre-installed with Activestate Perl (it is used by ppm), so even if it's not core, it comes pre-installed on the one platform where installation can be a problem. Note that XML::Twig, which doesn't come with Activestate perl is not too hard to install, as you could just drop the Twig.pm file in the module XML directory. Of course it is a pretty big file these days at nearly 400K. I think that XML::Simple is also a single file, so that is an other option. Oh, and remember that XML::Parser needs expat installed (once again installed with Activestate Perl, and easy enough to install on most other systems)

      There are also nearly-complete XML parsers in pure perl: XML::SAX::PurePerl and XML::Parser::Lite, which comes with SOAP::Lite. XML::SAX::PurePerl requires you to then install some SAX modules to do anything interesting with it, but XML::Parser::Lite emulates quite well XML::Parser, so you could ship it with your application and use it as a fallback if XML::Parser is not available. It doesn't parse DTDs, which may or may not be a problem.

        Thanks a lot for this info. I will try and see how I can get it to work. This infor was very helpful. Thanks to all the monks for their assistance.

        Edman

      You can distribute your application with all required modules with PAR. A tutorial can be found here.

      Igor 'izut' Sutton
      your code, your rules.

      OR you could distribute XML::Parser with your code.