Ismail Dönmez <ismail@xxxxxxxxxxxxx> writes: > Monday 03 December 2007 Tarihinde 12:14:43 yazmıştı: >> Benjamin Close <Benjamin.Close@xxxxxxxxxxxxxx> writes: >>> - eval { $res = decode_utf8($str, Encode::FB_CROAK); }; >>> - if (defined $res) { >>> - return $res; >>> - } else { >>> - return decode($fallback_encoding, $str, Encode::FB_DEFAULT); >>> - } >>> + eval { return ($res = decode_utf8($str, Encode::FB_CROAK)); }; >>> + return decode($fallback_encoding, $str, Encode::FB_DEFAULT); >>> } >> >> I thought the standard catch ... throw idiom in Perl was to do the above >> like this: >> >> my $res; >> eval { $res = decode_utf8($str, Encode::FB_CROAK); }; >> if ($@) { >> return decode($fallback_encoding, $str, Encode::FB_DEFAULT); >> } >> return $res; > > I think this is correct, but the current code in gitweb doesn't look correct > since it checks for $res and not $@. First version of the patch was created by Martin Koegler. I have participated in creating the version which is now in gitweb, but I have to say that I wrote it based on decode_utf8 documentation... which doesn't necessarily agree with facts :-( I'm all for the "throw idion" version. Ack. -- Jakub Narebski - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html