summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-01-04 17:13:15 -0600
committerJesse Luehrs <doy@tozt.net>2012-01-04 17:13:15 -0600
commit769d407137b20818b5ca38ab8b0904e9c1eb7a5d (patch)
tree56b7f3e2c6218ce54fc5b29a371be010b1f6e9a9
parent089a862f2686b313aac5ac6646d6d461aaea43c6 (diff)
downloadcircular-require-769d407137b20818b5ca38ab8b0904e9c1eb7a5d.tar.gz
circular-require-769d407137b20818b5ca38ab8b0904e9c1eb7a5d.zip
simplify
-rw-r--r--lib/circular/require.pm8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/circular/require.pm b/lib/circular/require.pm
index 21299c9..c05b935 100644
--- a/lib/circular/require.pm
+++ b/lib/circular/require.pm
@@ -48,7 +48,7 @@ or
=cut
-my %seen;
+my %being_loaded;
my $saved;
my @hide;
@@ -58,7 +58,7 @@ sub _require {
# treat it as a vstring, so be sure we don't use the incoming value in
# string contexts at all
my $string_file = $file;
- if (exists $seen{$string_file} && !$seen{$string_file}) {
+ if ($being_loaded{$string_file}) {
my $depth = 0;
my $caller;
@@ -71,7 +71,7 @@ sub _require {
warn "Circular require detected: $string_file (from $caller)\n";
}
- $seen{$string_file} = 0;
+ $being_loaded{$string_file} = 1;
my $ret;
# XXX ugh, base.pm checks against the regex
# /^Can't locate .*? at \(eval / to see if it should suppress the error
@@ -89,7 +89,7 @@ sub _require {
else {
$ret = $saved ? $saved->($file) : CORE::require($file);
}
- $seen{$string_file} = 1;
+ delete $being_loaded{$string_file};
return $ret;
}