Profiles — specify files containing OrderProfile definitions on a global level
Interchange 5.9.0:
Source: lib/Vend/Config.pm
Line 4817 (context shows lines 4817-4858)
sub parse_profile {
my ($var, $value) = @_;
my ($c, $ref, $sref, $i);
if($C) {
$C->{"${var}Name"} = {} if ! $C->{"${var}Name"};
$sref = $C->{Source};
$ref = $C->{"${var}Name"};
$c = $C->{$var} || [];
}
else {
no strict 'refs';
$sref = $Global::Source;
${"Global::${var}Name"} = {}
if ! ${"Global::${var}Name"};
$ref = ${"Global::${var}Name"};
$c = ${"Global::$var"} || [];
}
$sref->{$var} = $value;
my (@files) = glob($value);
for(@files) {
next unless $_;
config_error(
"No leading / allowed if NoAbsolute set. Contact administrator.\n")
if m.^/. and $Global::NoAbsolute;
config_error(
"No leading ../.. allowed if NoAbsolute set. Contact administrator.\n")
if m#^\.\./.*\.\.# and $Global::NoAbsolute;
push @$c, (split /\s*[\r\n]+[\r\n]+\s*/, readfile($_));
}
for($i = 0; $i < @$c; $i++) {
if($c->[$i] =~ s/(^|\n)\s+([^\n\r]+)\r?\n/$1/) {
my $name = $2;
$name =~ s/\s+$//;
$ref->{$name} = $i;
}
}
return $c;
}