blob: a5fbf963f64eb5b28854864c65f0cf9bf2a2510b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
package WWW::Efa::Error;
use strict;
use warnings;
use 5.010;
use base 'Exporter';
our @EXPORT_OK = qw{};
# source: internal / efa.vrr.de
# type: internal: conf
# efa.vrr.de: ambiguous / error / no data
sub new {
my ($obj, $source, $type, $data) = @_;
my $ref = {};
$ref->{'source'} = $source;
$ref->{'type'} = $type;
$ref->{'data'} = $data;
return bless($ref, $obj);
}
sub as_string {
my ($self) = @_;
my $ret;
if ($self->{'source'} eq 'internal') {
$ret = sprintf(
"WWW::Efa config error: Wrong arg for option %s: %s\n%s\n",
@{$self->{'data'}}
);
}
elsif ($self->{'source'} eq 'efa.vrr.de') {
given ($self->{'type'}) {
when ('no data') {
$ret = "WWW::Efa: efa.vrr.de returned no data\n";
}
when ('ambiguous') {
$ret = sprintf(
"WWW::Efa: efa.vrr.de: Ambiguous input for %s:\n",
shift(@{$self->{'data'}}),
);
foreach my $possible (@{$self->{'data'}}) {
$ret .= "\t${possible}\n";
}
}
when ('error') {
$ret = sprintf(
"WWW::Efa: efa.vrr.de error:\n%s\n",
$self->{'data'},
);
}
}
}
return $ret;
}
1;
|