File Coverage

DefaultConf.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1 1     1   1841 use strict;
  1         2  
  1         52  
2             package Envy::DefaultConf;
3             require Exporter;
4 1     1   6 use Config;
  1         2  
  1         50  
5 1         533 use vars qw(@ISA @EXPORT_OK
6 1     1   16 %How %env0 $startup $prefix @path);
  1         2  
7             @ISA = ('Exporter');
8             @EXPORT_OK = qw(%How);
9              
10             $prefix = $ENV{PERL5PREFIX} || $Config{prefix};
11              
12             ### These environment variables are hardcoded into dot.(profile|login)
13             my @perl;
14             if (exists $ENV{PERL5PREFIX}) {
15             my $p = $Config{sitelib};
16             $p =~ s/$Config{prefix}/$ENV{PERL5PREFIX}/;
17             @perl = (PERL5LIB => $p);
18             }
19              
20             %env0 = (
21             PATH => '/bin:/usr/bin',
22             MANPATH => '/usr/man',
23             EDITOR => 'vi',
24             @perl,
25             );
26              
27             ### The default envy to load upon login
28             if (exists $ENV{ENVY_DIMENSION}) {
29             my @first = grep /^First\,/, split /:+/, $ENV{ENVY_DIMENSION};
30             $startup = (split /,/, $first[0])[1]
31             if @first;
32             }
33             $startup ||= 'test';
34              
35             ### The default ENVY_PATH
36             my @p = split /:+/, $ENV{ENVY_PATH} if exists $ENV{ENVY_PATH};
37             unshift @p, "$prefix/etc/envy"
38             if !@p || exists $ENV{PERL5PREFIX};
39              
40             my %path_ok;
41             for (@p) {
42             next if exists $path_ok{$_};
43             push @path, $_;
44             $path_ok{$_} = 1;
45             }
46              
47             %How = (env0=>\%env0, startup=>$startup, prefix=>$prefix, path=>\@path,
48             strictness => 0);
49              
50             1;