File Coverage

blib/lib/POE/Resources.pm
Criterion Covered Total %
statement 46 54 85.1
branch 4 4 100.0
condition 3 3 100.0
subroutine 17 17 100.0
pod 1 1 100.0
total 71 79 89.8


line stmt bran cond sub pod time code
1             package POE::Resources;
2              
3 179     179   1290 use strict;
  179         253  
  179         6215  
4              
5 179     179   911 use vars qw($VERSION);
  179         207  
  179         26731  
6             $VERSION = '1.366'; # NOTE - Should be #.### (three decimal places)
7              
8             my @resources = qw(
9             POE::XS::Resource::Aliases
10             POE::XS::Resource::Events
11             POE::XS::Resource::Extrefs
12             POE::XS::Resource::FileHandles
13             POE::XS::Resource::SIDs
14             POE::XS::Resource::Sessions
15             POE::XS::Resource::Signals
16             );
17              
18             sub load {
19 178     178 1 2673 my $package = (caller())[0];
20              
21 178         517 foreach my $resource (@resources) {
22 177     177   31244 eval "package $package; use $resource";
  0     177   0  
  0     177   0  
  177     177   63695  
  177     177   492  
  177     177   2869  
  177     177   30038  
  1     177   31  
  1     177   10  
  177     177   66306  
  176     177   384  
  176     177   2988  
  177     176   30646  
  1     176   25  
  1         10  
  177         64951  
  177         416  
  177         2847  
  177         29237  
  0         0  
  0         0  
  177         75746  
  177         457  
  177         3351  
  177         33182  
  1         27  
  1         9  
  177         68369  
  176         405  
  176         6446  
  177         30712  
  0         0  
  0         0  
  177         72564  
  176         399  
  176         3045  
  176         30518  
  0         0  
  0         0  
  176         80996  
  176         389  
  176         3298  
  2476         127844  
23 2476 100       8652 if ($@) {
24             # Retry the resource, removing XS:: if it couldn't be loaded.
25             # If there's no XS:: to be removed, fall through and die.
26 1238 100 100     14371 redo if $@ =~ /Can't locate.*?in \@INC/ and $resource =~ s/::XS::/::/;
27 2         11 die;
28             }
29             }
30             }
31              
32             1;
33              
34             __END__