Diese Stelle aus Csd.pm:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sub new {
my @opt=@_;
my ($klasse,$dbg,$args);
my $csdobj = {};
$klasse = $opt[0];
$args = $opt[1];
my $mypath = \$args->{'cfgpath'} ;
$dbg = \$args->{'debug'} ;
my $ips = \$args->{'remoteips'} ;
if (${$dbg} ne q{} ) { print "$PROGRAM_NAME | Csd | new | uid = $UID | debug = ${$dbg}\n" or croak $ERRNO; }
$csdobj->{'debug'}=${$dbg} || '0';
$csdobj->{'ConfigPath'}=${$mypath} || '0';
$csdobj->{'remoteips'}=${$ips};
$fw=Fwng->new({debug=>${$dbg},});
#$fw=Fwng->new({debug=>q{},});
#$hgltools=hgltools->new(${$dbg});
# hglssh
$hglssh=Hglssh->new({debug=>${$dbg},});
bless $csdobj,$klasse;
return $csdobj;
} # end sub new
würde ich so schreiben:
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
sub new {
my $class = shift;
my $args = shift || {};
# Referenz auflösen "$obj->new(...)"
$class=ref($class) || $class;
# es ist "konvention" die Objektvariable "$self" zu nennen
# so was erleichtert anderen den Code schnell zu überschauen
my $self = {};
$self->{'ConfigPath'} = $args->{'cfgpath'} || 0;
$self->{'debug'} = $args->{'debug'} || q{};
$self->{'remoteips'} = $args->{'remoteips'} || 0;
if ($self->{'debug'} ne q{} )
{ print "$PROGRAM_NAME | Csd | new | uid = $UID | debug = $self->{'debug'}\n" or croak $ERRNO; }
bless $self,$class;
$fw=Fwng->new({ debug=>$self->{'debug'} }) unless($fw); # nur einmal initialisieren
#$fw=Fwng->new({ debug=>q{} });
#$hgltools=hgltools->new($self->{'debug'});
# hglssh
$hglssh=Hglssh->new({ debug=>$self->{'debug'} }) unless($hglssh); # nur einmal initialisieren
return $csdobj;
} # end sub new
Weiterhin würde auch in Funktionen sauber einrücken, auch wenn es die Struktur in die Breite zieht.
Ich finde solche stellen:
});
}
$zz++;
}
$z++;
}
return ('ok');
}
trotz aller Kommentare schwer zu lesen.
Last edited: 2010-12-28 19:35:29 +0100 (CET)