<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Broken CPAN? in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017975#M96492</link>
    <description>Admittedly, I haven't cared too much about the inards of CPAN.pm yet.&lt;BR /&gt;Having a look at the contents of my locally stored modlist.gz file (which has a rather dated mtime) I only now have realized that the new namespace CPAN::Modulelist together with a sub data() is defined and presumably pulled in on the fly in this very gziped file.&lt;BR /&gt;See&lt;BR /&gt;&lt;BR /&gt;# gzip -dc .cpan/sources/modules/03modlist.data.gz |nl|head -23|tail -13&lt;BR /&gt;    10  package CPAN::Modulelist;&lt;BR /&gt;    11  # Usage: print Data::Dumper-&amp;gt;new([CPAN::Modulelist-&amp;gt;data])-&amp;gt;Dump or similar&lt;BR /&gt;    12  # cannot 'use strict', because we normally run under Safe&lt;BR /&gt;    13  # use strict;&lt;BR /&gt;    14  sub data {&lt;BR /&gt;    15  my $result = {};&lt;BR /&gt;    16  my $primary = "modid";&lt;BR /&gt;    17  for (@$CPAN::Modulelist::data){&lt;BR /&gt;    18  my %hash;&lt;BR /&gt;    19  @hash{@$CPAN::Modulelist::cols} = @$_;&lt;BR /&gt;    20  $result-&amp;gt;{$hash{$primary}} = \%hash;&lt;BR /&gt;    21  }&lt;BR /&gt;    22  $result;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Maybe, it will help if I just download a more recent modlist from a nearby CPAN mirror and retry with it...?&lt;BR /&gt;</description>
    <pubDate>Tue, 12 Jun 2007 02:32:31 GMT</pubDate>
    <dc:creator>Ralph Grothe</dc:creator>
    <dc:date>2007-06-12T02:32:31Z</dc:date>
    <item>
      <title>Broken CPAN?</title>
      <link>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017974#M96491</link>
      <description>&lt;!--!*#--&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;though I probably should rather seek for help with this at Perlmonks or a similar place,&lt;BR /&gt;I know there are a few Perl gurus occassionally flipping through these threads to whom the solution may be right at hand.&lt;BR /&gt;&lt;BR /&gt;I simply fail to install some CPAN module through the CPAN shell because some eval block seems to yield an undef when testing for a method call named "data()".&lt;BR /&gt;I am quite convinced that my initial setup of CPAN/Config.pm is ok because it works on other hosts.&lt;BR /&gt;&lt;BR /&gt;Here's the excerpt from my CPAN session:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;  There's a new CPAN.pm version (v1.9102) available!&lt;BR /&gt;  [Current version is v1.7602]&lt;BR /&gt;  You might want to try&lt;BR /&gt;    install Bundle::CPAN&lt;BR /&gt;    reload cpan&lt;BR /&gt;  without quitting the current session. It should be a seamless upgrade&lt;BR /&gt;  while we are running...&lt;BR /&gt;&lt;BR /&gt;Going to read /home/root/.cpan/sources/modules/03modlist.data.gz&lt;BR /&gt;Can't locate object method "data" via package "CPAN::Modulelist" (perhaps you forgot to load "CPAN::Modulelist"?) at (eval 15) line 1.&lt;BR /&gt; at /opt/perl5/lib/5.8.8/CPAN.pm line 3405&lt;BR /&gt;        CPAN::Index::rd_modlist('CPAN::Index', '/home/root/.cpan/sources/modules/03modlist.data.gz') called at /opt/perl5/lib/5.8.8/CPAN.pm line 3128&lt;BR /&gt;        CPAN::Index::reload('CPAN::Index') called at /opt/perl5/lib/5.8.8/CPAN.pm line 484&lt;BR /&gt;        CPAN::all_objects('CPAN=HASH(0x80000001009f20c0)', 'CPAN::Author') called at /opt/perl5/lib/5.8.8/CPAN.pm line 1868&lt;BR /&gt;        CPAN::Shell::expand('CPAN::Shell', 'Author', '/SOAP::Lite/') called at /opt/perl5/lib/5.8.8/CPAN.pm line 1461&lt;BR /&gt;        CPAN::Shell::i('CPAN::Shell', '/SOAP::Lite/') called at /opt/perl5/lib/5.8.8/CPAN.pm line 201&lt;BR /&gt;        eval {...} called at /opt/perl5/lib/5.8.8/CPAN.pm line 201&lt;BR /&gt;        CPAN::shell() called at -e line 1&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;When I try to manually load the module it also fails:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;cpan&amp;gt; !use CPAN::Modulelist&lt;BR /&gt;Can't locate CPAN/Modulelist.pm in @INC (@INC contains: /opt/perl5/lib/5.8.8/PA-RISC2.0-LP64 /opt/perl5/lib/5.8.8 /opt/perl5/lib/site_perl/5.8.8/PA-RISC2.0-LP64 /opt/perl5/lib/site_perl/5.8.8 /opt/perl5/lib/site_perl) at (eval 16) line 2, &lt;FIN&gt; line 13.&lt;BR /&gt;BEGIN failed--compilation aborted at (eval 16) line 2, &lt;FIN&gt; line 13.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I invoked "perldoc -m CPAN" to check the suspicious eval block only to notice that this has been a misnomer and instead relates to a pushing op onto a namesake eval array&lt;BR /&gt;(Hey, hasn't Andreas Koenig read Conway's rants  in "Best Practices" about uninspired naming conventions?).&lt;BR /&gt;Obviously things go awry at line 3400.&lt;BR /&gt;This is the critical code section of CPAN.pm:&lt;BR /&gt;&lt;BR /&gt;    3399     undef $fh;&lt;BR /&gt;    3400     push @eval, q{CPAN::Modulelist-&amp;gt;data;};&lt;BR /&gt;    3401     local($^W) = 0;&lt;BR /&gt;    3402     my($comp) = Safe-&amp;gt;new("CPAN::Safe1");&lt;BR /&gt;    3403     my($eval) = join("", @eval);&lt;BR /&gt;    3404     my $ret = $comp-&amp;gt;reval($eval);&lt;BR /&gt;    3405     Carp::confess($@) if $@;&lt;BR /&gt;    3406     return if $CPAN::Signal;&lt;BR /&gt;    3407     for (keys %$ret) {&lt;BR /&gt;    3408         my $obj = $CPAN::META-&amp;gt;instance("CPAN::Module",$_);&lt;BR /&gt;    3409         delete $ret-&amp;gt;{$_}{modid}; # not needed here, maybe elsewhere&lt;BR /&gt;    3410         $obj-&amp;gt;set(%{$ret-&amp;gt;{$_}});&lt;BR /&gt;    3411         return if $CPAN::Signal;&lt;BR /&gt;    3412     }&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;My (superficial) search at search.cpan.org didn't yield a match for some package CPAN::Modulelist either.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Ralph&lt;/FIN&gt;&lt;/FIN&gt;</description>
      <pubDate>Tue, 12 Jun 2007 01:52:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017974#M96491</guid>
      <dc:creator>Ralph Grothe</dc:creator>
      <dc:date>2007-06-12T01:52:55Z</dc:date>
    </item>
    <item>
      <title>Re: Broken CPAN?</title>
      <link>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017975#M96492</link>
      <description>Admittedly, I haven't cared too much about the inards of CPAN.pm yet.&lt;BR /&gt;Having a look at the contents of my locally stored modlist.gz file (which has a rather dated mtime) I only now have realized that the new namespace CPAN::Modulelist together with a sub data() is defined and presumably pulled in on the fly in this very gziped file.&lt;BR /&gt;See&lt;BR /&gt;&lt;BR /&gt;# gzip -dc .cpan/sources/modules/03modlist.data.gz |nl|head -23|tail -13&lt;BR /&gt;    10  package CPAN::Modulelist;&lt;BR /&gt;    11  # Usage: print Data::Dumper-&amp;gt;new([CPAN::Modulelist-&amp;gt;data])-&amp;gt;Dump or similar&lt;BR /&gt;    12  # cannot 'use strict', because we normally run under Safe&lt;BR /&gt;    13  # use strict;&lt;BR /&gt;    14  sub data {&lt;BR /&gt;    15  my $result = {};&lt;BR /&gt;    16  my $primary = "modid";&lt;BR /&gt;    17  for (@$CPAN::Modulelist::data){&lt;BR /&gt;    18  my %hash;&lt;BR /&gt;    19  @hash{@$CPAN::Modulelist::cols} = @$_;&lt;BR /&gt;    20  $result-&amp;gt;{$hash{$primary}} = \%hash;&lt;BR /&gt;    21  }&lt;BR /&gt;    22  $result;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Maybe, it will help if I just download a more recent modlist from a nearby CPAN mirror and retry with it...?&lt;BR /&gt;</description>
      <pubDate>Tue, 12 Jun 2007 02:32:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017975#M96492</guid>
      <dc:creator>Ralph Grothe</dc:creator>
      <dc:date>2007-06-12T02:32:31Z</dc:date>
    </item>
    <item>
      <title>Re: Broken CPAN?</title>
      <link>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017976#M96493</link>
      <description>Nope,&lt;BR /&gt;I wgot &lt;A href="ftp://ftp.cs.tu-berlin.de/pub/lang/perl/CPAN/modules/03modlist.data.gz" target="_blank"&gt;ftp://ftp.cs.tu-berlin.de/pub/lang/perl/CPAN/modules/03modlist.data.gz&lt;/A&gt;&lt;BR /&gt;which at least was 68% bigger (probably due to a lot of newly uploaded stuff compared to the state of my old modlist file).&lt;BR /&gt;But when running a search or install command in the CPAN shell I still get the same error.</description>
      <pubDate>Tue, 12 Jun 2007 02:43:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017976#M96493</guid>
      <dc:creator>Ralph Grothe</dc:creator>
      <dc:date>2007-06-12T02:43:17Z</dc:date>
    </item>
    <item>
      <title>Re: Broken CPAN?</title>
      <link>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017977#M96494</link>
      <description>I have absolutely no bearing.&lt;BR /&gt;This time I retried the install of XML::SAX modules through CPAN shell, and it miraculously worked.&lt;BR /&gt;But I cannot find an inkling why it worked now.&lt;BR /&gt;The only thing I did was this time manually editing /opt/perl/lib/5.8.8/CPAN/Config.pm to delete a line which held a key value pair of proxy_passwd that I had before added through CPAN shell's "o conf var val" and "o conf commit" mechanism (Blimey, why doesn't have it a way to also unset wrong pairs interactively?).&lt;BR /&gt;I realized that the proxy environment variable's correct name that LWP honours is rather proxy_pass.&lt;BR /&gt;If this really has been the cause then the displayed symptoms were pretty misleading.&lt;BR /&gt;Under these circumstances I rather would have expected the module to fail when it rerequests my proxy credentials.&lt;BR /&gt;</description>
      <pubDate>Tue, 12 Jun 2007 05:03:50 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/broken-cpan/m-p/4017977#M96494</guid>
      <dc:creator>Ralph Grothe</dc:creator>
      <dc:date>2007-06-12T05:03:50Z</dc:date>
    </item>
  </channel>
</rss>

