Leser: 1
|< 1 2 >| | 18 Einträge, 2 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#! /usr/bin/perl -w use strict; my @array = qw/ eins zwei drei /; while ( @array ) { my $count = 1; foreach ( @array ) { print $count++, " ", $_, "\n"; } print "Auswahl: "; chomp ( my $aw = <STDIN> ); print "\neins\n\n" if $aw == 1; print "\nzwei\n\n" if $aw == 2; print "\ndrei\n\n" if $aw == 3; exit if $aw eq 'exit'; }
print $count++, " $_\n" for @array;
1 2 3
print "\neins\n\n" if $aw == 1; print "\nzwei\n\n" if $aw == 2; print "\ndrei\n\n" if $aw == 3;
1
2
3
4
5
1 eins
2 zwei
3 drei
Auswahl: exit
Argument "exit" isn't numeric in numeric eq (==) at /home/mm/perl/tesdt.pl line 18, <STDIN> line 1.
catweasel+2008-08-29 21:28:04--
catweasel+2008-08-29 21:29:37--Wie geht das mit "given / when"?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#! /usr/bin/perl -w use strict; use feature ':5.10'; my @array = qw/ eins zwei drei /; while ( @array ) { my $count = 1; print $count++, " ", $_, "\n" for @array; print "Auswahl: "; chomp ( my $aw = <STDIN> ); given( $aw ) { when ( 1 ) { print "eins\n\n"; } when ( 2 ) { print "zwei\n\n"; } when ( 3 ) { print "drei\n\n"; } default { exit; } } }
QuoteAber was ich ursprünglich fragen wollte: welche besser Schreibweise gibt es, um diese Fehlermeldung zu vermeiden?
Code: (dl )1
2
3
4
51 eins
2 zwei
3 drei
Auswahl: exit
Argument "exit" isn't numeric in numeric eq (==) at /home/mm/perl/tesdt.pl line 18, <STDIN> line 1.
Gast+2008-08-30 00:22:04--Setze das "exit" vor die anderen Abfragen dann kann "==" keinen Fehler melden.
Alternativ kannst du auch "int($aw)==" schreiben.
Gast+2008-08-30 00:22:04--Alternativ kannst du auch "int($aw)==" schreiben.
1
2
3
4
5
6
7
8
9
$ perl -lw
use strict;
my $aw = 'rimbel';
if ( int($aw) == 1 ) {
print "aha";
}
Argument "rimbel" isn't numeric in int at - line 4.
|< 1 2 >| | 18 Einträge, 2 Seiten |