On 10/31/07, Tom Phoenix <[EMAIL PROTECTED]> wrote:
> On 10/31/07, Jay Savage <[EMAIL PROTECTED]> wrote:
>
> > Take another look at the Net::SFTP docs, particularly the note about
> > what get() does when called in a void context.
>
> I see a note about a non-void context, but I don't see one about a
> void context. The OP didn't use the get() method in a void context.
> Did you mean to write "non-void"?
>
>     http://search.cpan.org/~dbrobins/Net-SFTP-0.10/lib/Net/SFTP.pm
>
> As I interpret the docs, the OP's code should be correct. But maybe
> I'm missing something.
>

I suppose I should have said non-void, because that is the behavior
the doc actually describes.

The assumption, though, is that void context will yeild the opposite
result. And it looks to me like OP is calling $sftp->get() in a void
context:

    $sftp->get( $file, $localFile ) || warn("errrrr0rrrrr_--->
$!".$sftp->status."\n");

At least I'm not aware that that '||' forces any particular context on
the lefthand operand. Perlop mentions propagating context WRT the
righthand operand, but doesn't say anything about the left. So I would
expect get() to return the same in the following cases:

    $sftp->get( $file, $localFile);
    $sftp->get( $file, $localFile), print "something";
    $sftp->get( $file, $localFile ) || die();

Given that, I would expect, from the docs, for get() to return the
empty string on success and undef on failure, both of which are
equally false from the perspective of '||'.

Or maybe *I'm* missing something?

--j
--------------------------------------------------
This email and attachment(s): [  ] blogable; [ x ] ask first; [  ]
private and confidential

daggerquill [at] gmail [dot] com
http://www.tuaw.com  http://www.downloadsquad.com  http://www.engatiki.org

values of β will give rise to dom!

Reply via email to