App-Context
view release on metacpan or search on metacpan
lib/App/Conf/File.pm view on Meta::CPAN
}
$conf = $serializer_class->deserialize($text);
if (! %$conf) {
App::Exception::Conf->throw(
error => "create(): $serializer_class produced empty config\n"
);
}
}
else { # don't bother with a serializer
$conf = {};
if ($text =~ /^[ \t\n]*\$[a-zA-Z][a-zA-Z0-9_]* *= *(\{.*\};[ \n]*)$/s) {
$text = "\$conf = $1"; # untainted now
eval($text);
if ($@) {
App::Exception::Conf->throw(
error => "create(): [$conf_file] error eval'ing config text: $@\n"
);
}
}
else {
App::Exception::Conf->throw(
lib/App/Serializer.pm view on Meta::CPAN
if ($serializer_class) {
eval "use $serializer_class;";
if ($@) {
App::Exception::Serializer->throw(
error => "create(): error loading $serializer_class serializer class\n"
);
}
$data = $serializer_class->deserialize($serialized_data);
}
else {
if ($serialized_data =~ /^\$[a-zA-Z][a-zA-Z0-9_]* *= *(.*)$/s) {
$serialized_data = "\$data = $1"; # untainted now
eval($serialized_data);
die "Deserialization Error: $@" if ($@);
}
else {
die "Deserialization Error: Data didn't have \"\$var = {...};\" or \"\$var = [ ... ];\" format.";
}
}
$data;
( run in 0.244 second using v1.01-cache-2.11-cpan-b61123c0432 )