# Standard, sollte fast immer eingebunden werden use strict; use warnings; # Modul zum Optionen behandeln use Getopt::Long; # Hash, um Flags (ein/aus, ja/nein) zu verwalten my %FLAG = ( RUNS_AS_CRON => 0, ); # Hash, um Optionen mit Werten zu verwalten; z.B. --dummy "string" wird zu $OPT{dummy} = 'string'; my %OPT = ( dummy => '', ); ### MAIN # Verarbeite die gegebenen Optionen von der Kommandozeile; alles was übrig bleibt, bleibt in @ARGV GetOptions( 'as-cron' => \$FLAG{RUNS_AS_CRON}, 'dummy=s' => \$OPT{dummy}, ) or exit 255; # Wenn das Flag "RUNS_AS_CRON" gesetzt wurde, dann tu etwas passendes; z.B. eine While-Schleife umgehen, weil nicht interaktiv gearbeitet wird if ( $FLAG{RUNS_AS_CRON} ) { # runs as cron job } # Wenn nicht, läuft das Programm wohl normal; wahrscheinlich interaktiv else { # runs normally? print "Dummy is: >", $OPT{dummy}, "<\n"; }