Acme-Machi

 view release on metacpan or  search on metacpan

lib/Acme/Machi.pm  view on Meta::CPAN

      };

    my $data = {};
    my @queue = ( [$s_dir, $data] );
    my ($elm, $np, $nd, $key, $found);
    ($obj eq $s_dir) && ($found = 1);
    return 1 if $RESP;
    while($elm = shift @queue){;
      ($np, $nd) = @$elm;
      $key = basename($np);
      $nd->{$key} = (-l $np or -f _)? undef : +{};
      if (ref $nd->{$key}) {;
        my $dh = IO::Dir->new("$np");
        my $npp;
        foreach ($dh->read()) {;
          $npp = File::Spec->catfile($np,$_);
          ($obj eq $npp) && ($found = 1);
          return 1 if $RESP;
          (m/\A\.{1,2}?\z/aa) || $push_front_back->(\@queue, [ $npp, $nd->{$key} ]);
        }
      }

t/Acme-Machi.t  view on Meta::CPAN


  # Cannot use instance method to construct object
  #############################################################
  {
    local $@;
    isnt(eval{$loli_first->new(); 1}, 1, 'caller test') 
      && like($@, qr/cannot.+?instance method.+/i, 'Die with a pre-defined error msg');
  }
  #############################################################

  # Cannot change one's habit with undefined key word
  #############################################################
  $loli_second->have_the_habit_of('Smily_Search');
  like($loli_second->habit(), qr/[DB]FS/, 
    'Except for \'DFS\' & \'BFS\', the others are ignored.');
  #############################################################

}
# -----------------------------------------------------------------------------


t/Acme-Machi.t  view on Meta::CPAN

    my $hash_ref1 = $_[0];
    my $hash_ref2 = $_[1];
    foreach my $k (sort keys %$hash_ref1){
      if (ref $$hash_ref1{$k} eq ref {}){ 
        &cmp($$hash_ref1{$k}, $$hash_ref2{$k});
      } elsif (ref $$hash_ref1{$k} eq ref []){ #array
        if($#{$$hash_ref2{$k}} >0){
          (${$$hash_ref2{$k}}[$_] ne ${$$hash_ref2{$k}}[$_]) 
            && (return) for (0 .. $#{$$hash_ref2{$k}});
        }
      } elsif (ref $$hash_ref1{$k} eq ref \undef){ #scalar
        (${$$hash_ref2{$k}} ne ${$$hash_ref2{$k}}) && (return);
      } else {
        if(defined($$hash_ref2{$k})){
          ($$hash_ref2{$k} ne $$hash_ref2{$k}) && (return);
        }
      }
    }
    1;
  }

t/Acme-Machi.t  view on Meta::CPAN

#    my $hash_ref1 = $_[0];
#    my $hash_ref2 = $_[1];
#    foreach my $k (sort keys %$hash_ref1){
#      if (ref $$hash_ref1{$k} eq ref {}){ 
#        __SUB__->($$hash_ref1{$k}, $$hash_ref2{$k});
#      } elsif (ref $$hash_ref1{$k} eq ref []){ #array
#        if($#{$$hash_ref2{$k}} >0){
#          (${$$hash_ref2{$k}}[$_] ne ${$$hash_ref2{$k}}[$_]) 
#            && (return) for (0 .. $#{$$hash_ref2{$k}});
#        }
#      } elsif (ref $$hash_ref1{$k} eq ref \undef){ #scalar
#        (${$$hash_ref2{$k}} ne ${$$hash_ref2{$k}}) && (return);
#      } else {
#        if(defined($$hash_ref2{$k})){
#          ($$hash_ref2{$k} ne $$hash_ref2{$k}) && (return);
#        }
#      }
#    }
#    1;
#  };
#-------- sub reference ver. ------------------------------------



( run in 0.782 second using v1.01-cache-2.11-cpan-d80b1682f3f )