use warnings;
use Exporter;
-sub Wrequire($);
+sub Wrequire($%);
sub Wuse($@);
our $W;
our @EXPORT=qw(
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;
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 $@;
# $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";