Thread Unless + Short Circuit negiert => Perl Bug? (9 answers)
Opened by status at 2010-02-19 17:07

Gast status
 2010-02-19 17:07
#133322 #133322
Alloah,

meiner Meinung dürften folgenden beiden Codeschnipsel doch equivalent arbeiten, oder? Es wird davon ausgegangen, dass $ret = 0 wird!

Code: (dl )
1
2
3
my $ret = $entry->update($ldap);

unless (!$ret and $ret->is_error()) { print "das hier soll nicht geprintet werden" };


Code: (dl )
1
2
3
my $ret = $entry->update($ldap);

if ($ret and !$ret->is_error()) { print "das hier soll nicht geprintet werden" };


Quasi sollte er bei der Überprüfung bei beiden beim ersten 0 ausgeben und das zweite nach dem and nicht mehr evaluieren?! Stattdessen bekomme ich beim ersten Beispiel den Fehler, dass die Methode is_error() nicht aufgerufen werden kann...

Was meint ihr?

View full thread Unless + Short Circuit negiert => Perl Bug?