From: short <> Date: Wed, 19 Oct 2005 12:57:02 +0000 (+0000) Subject: Fixed package dependencies (missing the web request main package). X-Git-Url: http://git.jankratochvil.net/?p=MyWeb.git;a=commitdiff_plain;h=refs%2Fheads%2Fapache20 Fixed package dependencies (missing the web request main package). --- diff --git a/Web.pm b/Web.pm index 48ad926..2b08495 100644 --- a/Web.pm +++ b/Web.pm @@ -24,7 +24,7 @@ use strict; use warnings; use Exporter; -sub Wrequire($); +sub Wrequire($%); sub Wuse($@); our $W; our @EXPORT=qw( @@ -49,9 +49,10 @@ BEGIN use Carp qw(cluck confess); $W->{"__My::Web_init"}=1; - sub Wrequire ($) + # $args{"first"}=1 + sub Wrequire ($%) { - my($file)=@_; + my($file,%args)=@_; # print STDERR "Wrequire $file\n"; $file=~s#/#::#g; @@ -70,7 +71,12 @@ BEGIN next if $packages_used_hash{$caller}{$target}++; cluck "Appending to the '_done' package list: caller=$caller,target=$target" if $packages_used_hash{$caller}{"_done"}; - push @{$packages_used_array{$caller}},$target; + if ($args{"first"}) { + unshift @{$packages_used_array{$caller}},$target; + } + else { + push @{$packages_used_array{$caller}},$target; + } } } eval { CORE::require "$file"; } or confess $@; @@ -163,6 +169,8 @@ my($class,%args)=@_; # $Apache2::Registry::curstash is no longer supported. do { cluck "No $_" if !$W->{$_}; } for "__PACKAGE__"; exit_hook_start(); + # Package dependencies tracking only: + Wrequire $W->{"__PACKAGE__"},"first"=>1; do { $W->{$_}=0 if !defined $W->{$_}; } for "detect_ent"; do { $W->{$_}=0 if !defined $W->{$_}; } for "detect_js";