Thread Perl Rechner
(12 answers)
Opened by MauriZze at 2008-06-16 21:07
du kannst nicht einfach strings hintereinanderschreiben und dann erwarten, dass perl das
als code ausführt. du musst dafür eval benutzen. da du ja nur ausgewählte operatoren zulässt, ist das kein problem, du musst nur noch prüfen, ob in den zahlen wirklich auch nur zahlen stehen: Code (perl): (dl
)
1 2 3 4 if ($zahl1 =~ tr/0-9//c or $zahl2 =~ tr/0-9//c) { die "Ungültige Zahlen" } print eval "$zahl1 $function[$f] $zahl2"; wenn du kommazahlen oder negative zahlen zulassen willst, musst du die prüfung noch daraufhin anpassen. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |