在我的主脚本中,我正在执行一些归档操作。一旦我完成了,我想运行一个单独的脚本来上传我的档案到FTP服务器。我的perl脚本末尾的'do'语句从不运行
另外,这些脚本运行良好。我想将FTP脚本添加到我的存档脚本的末尾,因此我只需要担心计划一个脚本运行,并且我想保证第一个脚本在调用FTP脚本之前完成它的工作。
查看所有不同的方法来调用我的FTP脚本后,我决定'做',但是,当我的do语句在脚本的末尾时,它永远不会运行。当我把它放在我的主foreach循环中时,它运行良好,但它运行多次,我想避免,因为FTP脚本可以处理多个档案上传。
有什么我失踪?为什么它不运行?
这里是relivant代码:
chdir $input_dir;
@folder_list = <*>;
foreach $file (@folder_list)
{
if($file =~ m/.*zip/)
{
print "found $file\n";
print "Processing Files...\n";
mkdir 'BuildDir';
$new_archive = Archive::Zip->new();
$archive_name = $file;
$zip = Archive::Zip->new($file);
$zip->extractTree('', $build_dir);
&Process_Files;
}
}
do 'ArchiveToFTPServer.pl';
print "sending files to FTP server";
感谢
我结束了复制和粘贴代码,FTP到主文件作为子。当我在foreach循环结束时调用它时它工作正常。
当看不到代码时很难调试。但我会猜测你在循环结束时有一个退出。也许代码太复杂了,以至于你通常没有达到目的? – MJB 2010-04-06 17:43:14
不,我没有在代码中的任何地方退出。实际上,我在相同的位置放置了一个打印语句并打印出来。 – joejoeson 2010-04-06 17:45:26
杰里米 - 请提供代码示例(精简版)。 – DVK 2010-04-06 17:48:06