#!/Perl/bin/Perl.exe require File::Spec; use File::Basename; use strict; use ExtUtils::MakeMaker; use ExtUtils::Command; use Config; use LWP::Simple qw(getstore $ua is_success); if ($ENV{HTTP_proxy_user} and $ENV{HTTP_proxy_pass} and $ENV{HTTP_proxy} =~ /^http:\/\/([^@]+)$/) { my $proxy ="http://$ENV{HTTP_proxy_user}:$ENV{HTTP_proxy_pass}\@" . $1; print "setting user/pass into proxy_env...\n"; $ua->proxy(['http'], $proxy); } my $ans = prompt("\nDo you want to alter ParserDetails.ini?", 'yes'); my $perl = $^X; $perl = Win32::GetShortPathName($perl) if $perl =~ / /; if ($ans =~ /^y/i) { my @args; eval {require XML::SAX}; die qq{XML::SAX must be installed first} if $@; my $dir = File::Basename::dirname($INC{'XML/SAX.pm'}); my $ini = File::Spec->catfile($dir, 'SAX', 'ParserDetails.ini'); unless (-e $ini) { @args = ($perl, '-MExtUtils::Command', '-e', 'touch', $ini); system(@args) == 0 or die "system @args failed: $?"; } @args = ($perl, '-MXML::SAX', '-e', q{"XML::SAX->add_parser(q(XML::SAX::ExpatXS))->save_parsers()"}); print "@args\n"; system(@args) == 0 or die "system @args failed: $?"; }