X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FCPANPLUS-Dist-Gentoo.git;a=blobdiff_plain;f=lib%2FCPANPLUS%2FDist%2FGentoo.pm;h=7f138049d1e21dc72a317d52e20a18292c729d9a;hp=e0e6bb883e3849518370bae988ffe8ab6355a81c;hb=02fbb17472e55a0862fea51d8f4e530a9af9153c;hpb=f90f7df97016d80e86803b1a5ec136906c5e72e9 diff --git a/lib/CPANPLUS/Dist/Gentoo.pm b/lib/CPANPLUS/Dist/Gentoo.pm index e0e6bb8..7f13804 100644 --- a/lib/CPANPLUS/Dist/Gentoo.pm +++ b/lib/CPANPLUS/Dist/Gentoo.pm @@ -66,17 +66,19 @@ sub format_available { } if (IPC::Cmd->can_capture_buffer) { - my $output = ''; - my $success = run command => [ qw/emerge --info/ ], - verbose => 0, - buffer => \$output; - if ($success and $output) { - if ($output =~ /^PORTDIR_OVERLAY=(.*)$/m) { - my $o = $1; - $o =~ s/^["']*//; - $o =~ s/["']*$//; - $overlays = [ map abs_path($_), grep length, split /:/, $o ]; + my ($success, $errmsg, $output) = run command => [ qw/emerge --info/ ], + verbose => 0; + if ($success) { + for (@{$output || []}) { + if (/^PORTDIR_OVERLAY=(.*)$/m) { + my $o = $1; + $o =~ s/^["']*//; + $o =~ s/["']*$//; + $overlays = [ map abs_path($_), grep length, split /:/, $o ]; + } } + } else { + error $errmsg; } }