home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / xampp / xampp-perl-addon-1.4.9-installer.exe / Resources.pm < prev    next >
Encoding:
Perl POD Document  |  2004-05-24  |  844 b   |  35 lines

  1. package POE::Resources;
  2.  
  3. use strict;
  4.  
  5. use vars qw($VERSION);
  6. $VERSION = do {my@r=(q$Revision: 1.9 $=~/\d+/g);sprintf"%d."."%04d"x$#r,@r};
  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.   POE::XS::Resource::Statistics
  17.   POE::XS::Resource::Controls
  18. );
  19.  
  20. sub initialize {
  21.   my $package = (caller())[0];
  22.  
  23.   foreach my $resource (@resources) {
  24.     eval "package $package; use $resource";
  25.     if ($@) {
  26.       # Retry the resource, removing XS:: if it couldn't be loaded.
  27.       # If there's no XS:: to be removed, fall through and die.
  28.       redo if $@ =~ /Can't locate.*?in \@INC/ and $resource =~ s/::XS::/::/;
  29.       die;
  30.     }
  31.   }
  32. }
  33.  
  34. 1;
  35.