Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks,

i have actual no problem... but would like tp get feedback... Thanks in advance... ohmmmmm

I wrote a script to parse XML Files. These files are on a company server.

So that if I am offline I have no access to these.

So I used __DATA__ with one example XML file in the case I am offline eg working at home or in train.

Are there better ways to do it?

Yours Brother Murcia
#!perl # use module use strict; use warnings; use feature qw(say); use XML::LibXML; use Data::Dumper; use YAML; use IO::All;# -encoding => 'iso-8859-1'; my $xml = new XML::LibXML; use constant DEBUG => 0; use constant OFFLINE => 0; ###################################################################### +##################################### ############# EINLESEN DER DATEN ##################################### +##################################### my $MeonaDir = '<-- SOME PATH ON COMPANY SERVER ONLY AVAILABLE IF INTR +ANET --->'; my $io = io($MeonaDir); my @meonaFiles = (); unless (OFFLINE) { @meonaFiles = $io->all(0); } foreach my $file (OFFLINE, @meonaFiles) { my $dom; ######## OFFLINE if (scalar @meonaFiles == 0){ $dom = XML::LibXML->load_xml(IO => \*DATA); } else { ##### FILES ONLINE eval{ $dom = XML::LibXML->load_xml(location => $file); }; next if ($@); } &Do_SOMETHING_HERE(); last if scalar @meonaFiles == 0; ### WENN OFFLINE DANN GIBT ES NUR + EIN XML } __DATA__ <?xml version="1.0" encoding="UTF-8"?> <object-stream> </object-stream>

Replies are listed 'Best First'.
Re: offline and intranet data
by choroba (Cardinal) on Mar 16, 2018 at 14:52 UTC
    Reminds me of ARGV::OrDATA :-)

    Why do you declare $xml? Why do you include OFFLINE as one of the files?

    Probably something like

    my @libxml_args; if (OFFLINE) { @libxml_args = ([IO => \*DATA]); } else { @libxml_args = map { [location => $_] } $io->all(0); } for my $libxml_arg (@libxml_args) { my $dom = 'XML::LibXML'->load_xml(@$libxml_arg); ... }

    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,