Subject: | Precedence error in Crypt::RSA::Key::{Private,Public}::write |
The write methods in those modules call open like this:
open DISK, ">$params{Filename}" ||
croak "Can't open $params{Filename} for writing.";
Unfortunately the precedence of the || operator is higher than the open
function call, causing the open call to be interpreted like this:
open (DISK, ">$params{Filename}" ||
croak "Can't open $params{Filename} for writing.");
... causing errors from open to get undetected.
To fix this, either place the parentheses correctly or use the 'or'
operator instead.