Changeset 8703 for lang/perl/Class-Component
- Timestamp:
- 04/03/08 05:48:47 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Class-Component/trunk/lib/Class/Component.pm
r8694 r8703 44 44 for my $key (keys %{ $isa_list }) { 45 45 delete $isa_list->{$key} if $key =~ /^$klass-/ || $key eq $klass; 46 } 47 48 my $pkg_require_cache = Class::Component::Implement->pkg_require_cache; 49 for my $key (keys %{ $pkg_require_cache }) { 50 delete $pkg_require_cache->{$key} if $key =~ /^$klass\::/ || $key eq $klass; 46 51 } 47 52 } … … 378 383 } 379 384 380 my %pkg_require_cache = (); 381 sub pkg_require_cache_clear { %pkg_require_cache = () } 385 my $pkg_require_cache = {}; 386 sub pkg_require_cache { $pkg_require_cache } 387 sub pkg_require_cache_clear { $pkg_require_cache = {} } 382 388 sub pkg_require { 383 389 my($class, $c, $pkg) = @_; … … 385 391 for my $isa_pkg (@{ $class->isa_list_cache($c) }) { 386 392 my $new_pkg = "$isa_pkg\::$pkg"; 387 if (exists $pkg_require_cache {$new_pkg}) {388 next unless $pkg_require_cache {$new_pkg};393 if (exists $pkg_require_cache->{$new_pkg}) { 394 next unless $pkg_require_cache->{$new_pkg}; 389 395 return $new_pkg; 390 396 } 391 $pkg_require_cache {$new_pkg} = 0;397 $pkg_require_cache->{$new_pkg} = 0; 392 398 393 399 next unless Class::Inspector->installed($new_pkg); 394 400 $new_pkg->require or return; 395 $pkg_require_cache {$new_pkg} = 1;401 $pkg_require_cache->{$new_pkg} = 1; 396 402 397 403 return $new_pkg;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)