Sys-Facter

 view release on metacpan or  search on metacpan

lib/Sys/Facter.pm  view on Meta::CPAN

sub load {
  my ($self, @facts) = @_;

  # XXX: yes, this is lower case
  my @invalid = grep { not m{^[a-z0-9_]+$} } @facts;
  if (@invalid) {
    croak "Invalid fact names: @invalid\n";
  }

  if (not @facts) {
    @facts = map { (split m{[/.]})[-2] }
             grep { m{/[a-z0-9_]+\.pm$} && -f $_ }
             map { glob "$_/Pfacter/*.pm" }
             @{ $self->{var}{modules} }, @INC;
  }

  for my $fact (grep { not $self->{var}{loaded}{$_} } @facts) {
    my $module = "Pfacter::$fact";
    my ($file) = grep { -f $_ }
                 map { "$_/Pfacter/$fact.pm" }
                 @{ $self->{var}{modules} }, @INC;



( run in 0.993 second using v1.01-cache-2.11-cpan-5511b514fd6 )