Ignore:
Timestamp:
2011-04-11T16:55:18+12:00 (13 years ago)
Author:
sjm84
Message:

Modified several Perl files to merge the locations where XML::Parser checked for the current version of perl into one location. Also tidied up several locations where a difference was specified between 5.6 and 5.8+ to do with ProtocolEncoding being used to initialise an XML::Parser. Given the recent "

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/perllib/collConfigxml.pm

    r22485 r23895  
    3131no strict 'subs';
    3232
    33 # Wrapper that ensures the right version of XML::Parser is loaded given
    34 # the version of Perl being used.  Need to distinguish between Perl 5.6 and
    35 # Perl 5.8
    36 sub BEGIN {
    37     my $perl_dir;
    38 
    39     # Note: $] encodes the version number of perl
    40     if ($]>=5.010) {
    41     $perl_dir = "perl-5.10";
    42     }
    43     elsif ($]>5.008) {
    44     # perl 5.8.1 or above
    45     $perl_dir = "perl-5.8";
    46     }
    47     elsif ($]<5.008) {
    48     # assume perl 5.6
    49     $perl_dir = "perl-5.6";
    50     }
    51     else {
    52     print STDERR "Warning: Perl 5.8.0 is not a maintained release.\n";
    53     print STDERR "         Please upgrade to a newer version of Perl.\n";
    54     $perl_dir = "perl-5.8";
    55     }
    56 
    57     if ($ENV{'GSDLOS'} !~ /^windows$/i) {
    58     # Use push to put this on the end, so an existing XML::Parser will be used by default
    59     push (@INC, "$ENV{'GSDLHOME'}/perllib/cpan/$perl_dir");
    60     }
    61 }
    62 
    63 use XML::Parser;
     33use XMLParser;
    6434
    6535# A mapping hash to resolve name discrepancy between gs2 and gs3.
     
    12696    }
    12797
     98    # Removed ProtocolEncoding (see MetadataXMLPlugin for details)
     99
    128100    # create XML::Parser object for parsing metadata.xml files
    129     my $parser;
    130     if ($]<5.008) {
    131     # Perl 5.6
    132     $parser = new XML::Parser('Style' => 'Stream',
    133                   'Handlers' => {'Char' => \&Char,
     101    my $parser = new XML::Parser('Style' => 'Stream',
     102                 'Pkg' => 'collConfigxml',
     103                 'Handlers' => {'Char' => \&Char,
    134104                         'Doctype' => \&Doctype
    135105                         });
    136     }
    137     else {
    138     # Perl 5.8
    139     $parser = new XML::Parser('Style' => 'Stream',
    140                   'ProtocolEncoding' => 'ISO-8859-1',
    141                   'Handlers' => {'Char' => \&Char,
    142                          'Doctype' => \&Doctype
    143                          });
    144     }
    145 
    146106    if (!open (COLCFG, $filename)) {
    147107    print STDERR "cfgread::read_cfg_file couldn't read the cfg file $filename\n";
Note: See TracChangeset for help on using the changeset viewer.