Thread JavaScript in Perl übersetzen (52 answers)
Opened by Nicki271 at 2008-06-23 09:29

renee
 2009-02-20 17:07
#119046 #119046
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das hier ist falsch:
Code (perl): (dl )
elsif ($income >= 300 <=> 1000)


Denn was macht hier Perl?

Perl macht als erstes $income >= 300. Das Ergebnis ist "1". Dann macht Perl 1 <=> 1000. Das ist ein Vergleich, welche Zahl größer ist. Diese Operation liefert "-1" wenn die erste Zahl kleiner als die zweite Zahl ist, "0" wenn beide Zahlen gleich groß sind und "1" wenn die erste Zahl kleiner als die zweite Zahl ist. In diesem Fall (mit $income = 2000) ist das Ergebnis also "-1". Dein elsif überprüft also, ob "-1" "wahr" ist und das ist es...

Wenn Du überprüfen willst, ob eine Zahl zwischen zwei Zahlen ist, musst Du das so machen:
Code (perl): (dl )
if( $income >= 300 and $income < 1000 ){...}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread JavaScript in Perl übersetzen