--- deliantra/server/lib/cf.pm 2007/06/11 21:38:14 1.278 +++ deliantra/server/lib/cf.pm 2007/06/11 22:16:53 1.279 @@ -969,8 +969,8 @@ pkg => $pkg, ); - $ext{meta} = { map { split /=/, $_, 2 } split /\s+/, $1 } - if $source =~ /^#!.*?perl.*?#\s*(.*)$/; + $ext{meta} = { map { (split /=/, $_, 2)[0, 1] } split /\s+/, $1 } + if $source =~ /\A#!.*?perl.*?#\s*(.*)$/m; $ext{source} = "package $pkg; use strict; use utf8;\n" @@ -986,7 +986,7 @@ my $progress; while (my ($k, $v) = each %todo) { - for (split /,\s*/, $ext{meta}{depends}) { + for (split /,\s*/, $v->{meta}{depends}) { goto skip unless exists $done{$_}; } @@ -995,7 +995,7 @@ unless (eval $v->{source}) { my $msg = $@ ? "$v->{path}: $@\n" - : "extension disabled.\n"; + : "$v->{base}: extension inactive.\n"; if (exists $v->{meta}{mandatory}) { warn $msg; @@ -1003,11 +1003,12 @@ exit 1; } - die $msg; + warn $msg; } $done{$k} = delete $todo{$k}; push @EXTS, $v->{pkg}; + $progress = 1; } skip: