home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / tsw / TSW_3.4.0.exe / Apache2 / perl / Name.pm < prev    next >
Encoding:
Perl POD Document  |  2003-12-17  |  1.0 KB  |  41 lines

  1. # $File: //depot/cpan/Module-Install/lib/Module/Install/Makefile/Name.pm $ $Author: autrijus $
  2. # $Revision: #11 $ $Change: 1645 $ $DateTime: 2003/07/16 01:05:06 $ vim: expandtab shiftwidth=4
  3.  
  4. package Module::Install::Makefile::Name;
  5. use Module::Install::Base; @ISA = qw(Module::Install::Base);
  6.  
  7. $VERSION = '0.01';
  8.  
  9. use strict;
  10.  
  11. sub determine_NAME {
  12.     my $self = shift;
  13.     my @modules = glob('*.pm');
  14.  
  15.     require File::Find;
  16.     File::Find::find(sub { push @modules, $File::Find::name if /\.pm/i }, 'lib');
  17.  
  18.     if (@modules == 1) {
  19.         local *MODULE;
  20.         open MODULE, $modules[0] or die $!;
  21.         while (<MODULE>) {
  22.             next if /^\s*(?:#|$)/;
  23.             $self->module_name($1) if /^\s*package\s+(\w[\w:]*)\s*;\s*$/;
  24.             last;
  25.         }
  26.     }
  27.  
  28.     return if $self->module_name;
  29.  
  30.     my $name = MM->guess_name or die <<"END";
  31. Can't determine a NAME for this distribution.
  32. Please use the 'name' function in Makefile.PL.
  33. END
  34.  
  35.     $name =~ s/-/::/g;
  36.     $self->module_name($name);
  37.     return $name;
  38. }
  39.  
  40. 1;
  41.