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 3.206 seconds using v1.01-cache-2.11-cpan-d80b1682f3f )