Wiggins d Anconia <[EMAIL PROTECTED]> wrote:
>
>
> > Hi,
> >
> > Much to my surprise, when I run this code, it never returns 0 if it
> could not
> > carry out the operation.
> >
> > $rc = $f->site("chmod 666 $remoteFile")
> > or die "ftp: Could not change permissions: $!\n";
> >
> > It seems to return a 2 on success, and a 5 if it could not access the
> file
> > because of a different owner.
> >
> > My question is, what return code can I rely on? I need to be sure the
> > permissions were set to '666'.
> >
> > Any suggestions? This is a emergency "quick fix".
> >
> > Thanks in advance....
>
> From the docs:
>
> "Returns most significant digit of the response code."
>
> The response code is part of the FTP specification, response codes in
> the 200's are successes and responses in the 500's are failures, so it
> should be sufficient to check for a 2 and have that be success, a 5
> makes failure and anything else is undefined. By looking at the 2
> lesser significant digits normally a failure cause can be determined,
> but with 'site' that is system dependent (at least I think).
This makes sense (now). Silly me, I thought non-zero was success. Using a
truncated number from the RFC was definitely a mystery. I wish these
packages followed a stricter standard.
This helped tremendously, and I've resorted to using something like
$perm = substr(sprintf("%s", $f->dir($remoteFile)), 1, 9);
die "Bad permissions\n" unless ($perm =~ /rw-rw-rw-/);
Thanks again! =)
-Jeff
__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]