Jonny: Ist die Lösung ok?

Beitrag lesen

Halli hallo,

warn "Der Parameter muss eine Zahl sein!" if /[^A-Z]/i;
geht auch

Hast du das probiert?

Nein, aber wie schaut das hier aus?

Nur mein kleines Testskript:

#!/usr/bin/perl

use strict;

my $arg="@ARGV";
my $tmp="$arg";
$tmp=~s/\d//g;

if($tmp) {
   print "Falsche Zeichen: $tmp\n";
   print "Der Parameter muss eine Ganzzahl zwischen 0 und 65535 sein.\n";
   exit;
}

if($arg < 1 || $arg > 65535) {
   print "Der Parameter muss eine Ganzzahl zwischen 0 und 65535 sein.\n";
   exit;
}

Also mein genaues Ziel ist, das ein über einen frei wählbaren Port eine Socketverbindung geöffnet werden soll. Bevor dann unzählige Variablen aus Konfigurationsdateien lade, möchte ich natürlich zu Anfang prüfen, ob der Port auch tatsächlich eine Ganzzahl ist. Schreibfehler wie zum Beispiel der Buchstabe o statt einer Null oder eine Kommazahl sollen rechtzeitig identifiziert werden. Wäre das obige Beispiel ok als Lösung?

Mfg,
Jonny