hotti: Warum Perl? Warum nicht?

Beitrag lesen

Moin Moin!

vielen Dank für Dein Feedback!

Wer mir was von unlesbarem Perl-Code vorjammert, den verweise ich seit neuestem auf MUMPS (die Computer-Krankheit,

Echt krank, so ein Mumpitz ;-)

Hier mal ein "schönes" (leserliches) Perl, wo ich gerade dran bin, die Kontrollstruktur in einem CGI:

  
my $u = PicoBello->new;  
my $out = Out->new('192.168.0.0/16', 17); # Vorbelegung mit Beispiel  
  
if($u->param){  
	$out = Out->new($u->param('cidr'), $u->param('newmask')); # Benutzereingabe  
	if($u->param('calc')){  
		# CGI Response  
		print $u->header, $u->start_html, $u->menu, front(), $u->end_html;  
	}  
	elsif($u->param('x_calc')){  
		# Ajax Response erzeugen  
		# wird morgen zwischen Zähneputzen und Pinkeln fertig  
	}  
	else{  
		# unbekannte Parameter  
		print $u->redirect($ENV{SCRIPT_NAME});  
	}  
}  
else{  
	print $u->header, $u->start_html, $u->menu, front(), $u->end_html;  
}  

und ein Blick in das Objekt $out:

  
bless({  
  1 => {  
        Broadcastadresse => "192.168.255.255",  
        HEADLINE         => "Basisnetz 192.168.0.0/16",  
        Hosts            => 65_534,  
        MASKLEN          => 16,  
        Netzadresse      => "192.168.0.0",  
        Netzmaske        => "255.255.0.0",  
        Teilbarkeit      => "Ja",  
      },  
  2 => {  
        Broadcastadresse => "192.168.127.255",  
        HEADLINE         => "Erstes Subnetz 192.168.0.0/17",  
        Hosts            => 32_766,  
        MASKLEN          => 17,  
        Netzadresse      => "192.168.0.0",  
        Netzmaske        => "255.255.128.0",  
        Teilbarkeit      => "Ja",  
      },  
  3 => {  
        Broadcastadresse => "192.168.255.255",  
        HEADLINE         => "Letztes Subnetz 192.168.128.0/17",  
        Hosts            => 32_766,  
        MASKLEN          => 17,  
        Netzadresse      => "192.168.128.0",  
        Netzmaske        => "255.255.128.0",  
        Teilbarkeit      => "Ja",  
      },  
  NANZ => 2,  
  NM => 17,  
}, "Out")  

$out wird aus der Benutzereingabe zusammengebaut, da ist alles drin, was für eine CGI-Response oder eine Ajax-Response gebraucht wird. HTML wird über $u->PicoBello erzeugt und die Funktion front() bringt das Forumular sowie die Netztabellen in den Browser. Für eine Ajax-Response wird $out einfach nur serialisiert (nach meiner "Art Hottentott" *G*).

Isset net schie? Ich mach jetzt Pfeierabend :P

Grüße an Alle,
Hotti

PS: Was mich an Perl nervt, ist das # weils nur in einer Zeile güllt...
Java: Mein Gott, tausende Zeilen try/catch, damit endlich mal was geht.
PHP: das Objekt-Zeugs guck ich mir mal an, versprochen ;-)
c: Ich liebe struct
Perl: Ich empfehle strict, eine Zeile, große Wirkung
Delphi, Pascal: Grüß mir den Nicolaus (Wirth)