Pourquoi ai-je une erreur de XML :: SAX :: :: PurePerl EncodingDetect bien que je ne l'ai pas charger ce module?

voix
2

Voici le script que je l'ai écrit pour changer la valeur d'un des paramètres dans un fichier XML situé à un autre emplacement:

#!/usr/bin/perl -w

use Cwd;
use XML::Simple;
use Data::Dumper;
no warnings;

my $before_upgrade_value = &pre_upgrade_value;
print Value before upgrade:: $before_upgrade_value \n;

&change_value ($before_upgrade_value);

&change_value (America);

my $after_upgrade_value = &pre_upgrade_value;

print Value after upgrade:: $after_upgrade_value \n;
print Done \n;

sub pre_upgrade_value {
    my $xml = new XML::Simple;

    # read XML file
    my $input_xml  = /usr/tmp/country/CountryConfig.xml;

    my $data = $xml->XMLin($input_xml);
    my $arg0 = $data->{COMMON}->{COUNTRY_LIST}->{Value};

    print Arg0 is $arg0 \n;
    return $arg0;
}

sub change_value {
    my $arg0 = shift;

    my $arg1 = ENGLAND;

    my $arg2 = /usr/tmp/country/CountryConfig.xml;

    system(perl -pi -e 's/$arg0/$arg1/' $arg2);
}

Mais je reçois l'erreur suivante:

Impossible de reconnaître le codage de ce document à la ligne 100. /usr/local/lib/perl5/site_perl/5.8.7/XML/SAX/PurePerl/EncodingDetect.pm document un élément nécessite [Ln: 1, Col: 0]

Pouvez-vous me dire la raison que je ne demande pas EncodingDetect.pm dans mon code?

Créé 27/08/2009 à 06:56
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
7

XML :: SAX est utilisé par XML :: Simple. À partir du code:

# XML::Simple requires the services of another module that knows how to parse
# XML.  If XML::SAX is installed, the default SAX parser will be used,
# otherwise XML::Parser will be used.

Une partie de XML :: SAX est XML :: SAX :: :: PurePerl EncodingDetect. On dirait que vous avez quelques espaces au début de votre XML, vous pouvez trouver ce nœud PerlMonks utile.

Créé 27/08/2009 à 07:03
source utilisateur

voix
0

Lorsque vous utilisez un module, vous pouvez également utiliser tous les modules qu'il utilise, et tous les modules qu'ils utilisent, et ... :)

Créé 27/08/2009 à 18:08
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more