URN Logo
UNIX Resources » Linux » China Linux Forum » Perl 编 程 » 4 » 我的perl ftp客戶端腳本
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
我的perl ftp客戶端腳本
Author: alex8224    Posted: 2004-10-21 17:28    Length: 2,299 byte(s)
[Original] [Print] [Top]
我利用Net::FTP寫了一個簡易的客戶端腳本,只實現了幾個簡單的指令,還有大部份的沒有實現,而且沒有錯誤捕獲功能,一出錯就退出來了,小弟不知道怎麼回事,而且我的ls卻列不出目錄名字,只能列出文件名,請問用什麼辦法可能解決呢?
源代碼如下

#!/usr/bin/perl

use Net::FTP;

$myftp=Net::FTP->new($ARGV[0]);
$myftp->login("ftp","ftp") or die($myftp->message);
print "host $ARGV[0] is connected. ";
print "myftp> ";
$i_v="true";

while($i_v ne "quit") {
print "myftp>";
$i_v=<STDIN>;
chomp $i_v;
# print "command is $myftp->$i_v ";
if($i_v=~ /[?|h]/) {
print "sorry,the help file is not found. ";
} else {
if($i_v=~ /download(.+)/) {
print "downloading file $1...... ";
$d_file=substr($1,1);
$myftp->get("$d_file") or print "cannot download $d_file,maybe not found! ";
print "$1 download completed! ";
}
if($i_v=~ /upload(.+)/) {
print "uploading file$1to current directory. ";
$u_file=substr($1,1);
$myftp->put($u_file) or print "canot upload $u_file,maybe not found or deny access! ";
print "file $1 uploaded. ";
}
if($i_v=~ /cd(.+)/) {
$myftp->cwd("$1") or print "cannot enter directory $1,maybe not exists or deny access ";
}
if($i_v=~ /ls(.*)/) {

@files=$myftp->ls($1) or $myftp->message;
print "listing file... ";
for($arr_i=0;$arr_i<@files;$arr_i++) {

print $files[$arr_i];
print " ";
}
}
if($i_v=~ /pwd/) {
$cudir=$myftp->pwd();
print "Current direcotory is $cudir ";
}
}
}
$myftp->quit;
----
我是一个新手,请多指教
[Original] [Print] [Top]
« Previous thread
请问这个程序怎么写?Perl别让我伤心哦!
Perl 编 程
4
Next thread »
請大家看看出錯信息,是什麼原因呢?
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 04:09:00, cost 0.069392919540405 ms.