X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2FCommodsWeb.pm;h=198185d32df4f1855fd4ca691d809b482f91bf04;hp=84ea71066c186902d95b7108e874323092ff8d0b;hb=59bee7afb77216585b904bd20f17e71005e9778c;hpb=376058867c0d8cce6124ca758bab08b54bf59b94 diff --git a/yarrg/CommodsWeb.pm b/yarrg/CommodsWeb.pm index 84ea710..198185d 100644 --- a/yarrg/CommodsWeb.pm +++ b/yarrg/CommodsWeb.pm @@ -57,22 +57,25 @@ BEGIN { @EXPORT_OK = qw(); } -sub sourcebasedir () { +sub dotperllibdir () { my $dir; for my $dir (@INC) { if ($dir =~ m/\.perl-lib$/) { - $dir= "$dir/.."; - last; + return $dir; } } - defined $dir or - die "no source base dir in @INC"; - return $dir; + die "no appropriate dotperllib dir in @INC"; +} + +sub sourcebasedir () { + return dotperllibdir().'/..'; } -my datadir () { - my $dir= sourcebasedir(); +sub datadir () { + my $edir= $ENV{'YARRG_DATA_DIR'}; + return $edir if defined $edir; + my $dir= dotperllibdir(); if (stat "$dir/DATA") { return "$dir/DATA"; } elsif ($!==&ENOENT) { @@ -86,9 +89,10 @@ my datadir () { my @ocean_list; sub ocean_list () { + my $datadir= datadir(); if (!@ocean_list) { - my $fn= "$datadir/master-info.txt"; - my $f= new IO::File $fn or die $!; + my $fn= "$datadir/source-info.txt"; + my $f= new IO::File $fn or die "$fn $!"; my @r; while (<$f>) { next unless m/^ocean\s+(\S.*\S)\s*$/;