Thread Perl Rechner (12 answers)
Opened by MauriZze at 2008-06-16 21:07

pq
 2008-06-16 21:58
#111089 #111089
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Perl Rechner