CPANPLUS-YACSmoke
view release on metacpan or search on metacpan
lib/CPANPLUS/YACSmoke/locallib.pm view on Meta::CPAN
$value =~ s/(^|\G|$_path_sep)\$\{$name:-\}$_path_sep/$1\${$name}\${$name:+$_path_sep}/g;
$value =~ s/$_path_sep\$\{$name:-\}$/\${$name:+$_path_sep\${$name}}/;
qq{${name}="$value"; export ${name};\n}
}
sub build_csh_env_declaration {
my ($class, $name, $args) = @_;
my ($value, @vars) = $class->_interpolate($args, '${%s}', qr/["\$]/, '"\\%s"');
if (!defined $value) {
return qq{unsetenv $name;\n};
}
my $out = '';
for my $var (@vars) {
$out .= qq{if ! \$?$name setenv $name '';\n};
}
my $value_without = $value;
if ($value_without =~ s/(?:^|$_path_sep)\$\{$name\}(?:$_path_sep|$)//g) {
$out .= qq{if "\${$name}" != '' setenv $name "$value";\n};
$out .= qq{if "\${$name}" == '' };
}
$out .= qq{setenv $name "$value_without";\n};
return $out;
}
sub build_cmd_env_declaration {
my ($class, $name, $args) = @_;
my $value = $class->_interpolate($args, '%%%s%%', qr(%), '%s');
if (!$value) {
return qq{\@set $name=\n};
}
( run in 0.568 second using v1.01-cache-2.11-cpan-3989ada0592 )