in reply to FTP'ing to an FTP location that doesn't require login.

Daxim's point in a nutshell is that string interpolation doesn't do method references, so
"Can't cd: $ftp->message \n"
really means
"Can't cd: " . $ftp . "->message \n"
rather than
"Can't cd: " . $ftp->message . " \n"