Metainformationen zur Seite
If / Then / Else als Einzeiler (Perl und PHP)
Der sogenannte Ternäre Operator (ternary operator → Perl Doc, PHP Doc) erlaubt eine If - Then - Else Operation in einer Zeile. Das eignet sich gut, um beispielsweise ein Configfile auszulesen und wenn kein Wert definiert ist, einen Standardwert zu setzen.
Die Syntax ist:
Syntax
my $variable = <Bedingung> ? <Wert> : <Sonst-Wert>;
Beispiel
Syntax
use Config::Simple; my $pcfg = new Config::Simple("$lbpconfigdir/miniserverbackup.cfg"); # Ist im Configfile ein Kompressionslevel definiert, verwende diesen, sonst setze diesen auf 5 my $compressionlevel = defined $pcfg->param("MSBACKUP.COMPRESSION_LEVEL") ? $pcfg->param("MSBACKUP.COMPRESSION_LEVEL") : 5; # Ist im Configfile ein Arbeitsverzeichnis definiert, verwende den Wert des Configfiles, sonst setze dieses auf lbpdatadir/workdir my $bkpworkdir = defined $pcfg->param("MSBACKUP.WORKDIR") ? $pcfg->param("MSBACKUP.WORKDIR") : "lbpdatadir/workdir";