Thread $ARGV auf Eingabe überprüfen (10 answers)
Opened by DrWhiteLetter at 2005-03-30 13:48

DrWhiteLetter
 2005-03-30 13:48
#53075 #53075
User since
2005-01-30
26 Artikel
BenutzerIn
[default_avatar]
Morgen,

habe schon wieder eine Anfängerfrage, ich komme einfach nicht weiter, wenn ich $ARGV auf (irgendeine) Eingabe überprüfen will. Das Problem liegt hier dabei, dass entweder Zahlen oder Strings überprüft werden können.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if($#ARGV==0) 
{
print "Bitte Massstab eingeben (Bsp: 1:100): ";
$eingabe=<STDIN>;
@massstab=split(/:/,$eingabe);
$ze=1000/$massstab[1];
print "\n\t$ze = 1\n";
exit(0);
}

else
{
$eingabe=$ARGV[0];
@massstab=split(/:/,$eingabe);
$ze=1000/$massstab[1];
print "\n\t$ze = 1\n";
exit(0);
}

Bringt folgenden Fehler:

Use of uninitialialized value in division (/) at massstab.pl line 25.
Illegal division by zero at massstab.pl line 25

Das wäre folgende Zeile:
Code: (dl )
$ze=1000/$massstab[1];


Mach ich aus der if-Abfrage folgendes:
Code: (dl )
if($ARGV eq '') 

Krieg ich diesen Fehler:
Use of uninitialized value in string eq at massstab.pl line 11.

und dann läuft das Programm aber ohne Probleme.

Bitte gebt mir einen kleinen Gedankenstoß...

View full thread $ARGV auf Eingabe überprüfen