我编写了一个拷贝文件的小程序,为什么不能运行啊?

我编写了一个拷贝文件的小程序,为什么不能运行啊?

我编写了一个拷贝文件的小程序,为什么不能运行啊?
#!usr/bin/perl

if(open(handle,"c:\perl\wby.txt"))||die "The file coundn't find ,$!!";

if(open(handle2,">c:\perl\wby2.txt"))||die "The file coundn't find ,$!!";

@readline=<handle>;

foreach $line(@readline)
{
print handle2 $line;
}


close handle;
close handle2;

我的文件系统中已经有了这两个文件,并且第一个文件有内容,而第二个文件是空的,我以为这个程序能够将第一个文件中的内容拷贝到第二个文件中,但是却运行不出来,这是什么原因啊?

还有个问题是:怎么在任意一个目录下建立一个文件,建立目录的命令是mkdir,但是建立文件的命令是什么啊?
恩.小心点.--...
恩.小心点.
1. 字符串的转义字符要转义.
2. open函数如果执行成功的话是会返回真值的
没有测试过你的代码,但是感觉就是这两点.
if(open(handle...
if(open(handle,"c:\perl\wby.txt"))||die "The file coundn't find ,$!!";

这是什么用法? 应该写成
open (H, "file") or die "$!\n";
打开后,一行行阅读写成
while (<H>) { print P $_ }

如果你是从书里抄来得, 那就赶快把这本书扔掉. 如果是你自己写出来的, 那我就建议你买一个本 perl (www.oreilly.com.cn ) 入门书学习一下. 或在线读这本 http://perl.hcchien.org/TOC.html




   

楼猪使我有了想...
楼猪使我有了想要重新学习PERL的冲动,这种语法我还是第一次看到。。。。。
改成下面的也是可以的,\这个在Perl当中是有特别意义的,路径里面用/代替
#!usr/bin/perl

open(handle,"d:/env.pl")||die "The file coundn't find ,$!!";

open(handle2,">d:/1.txt")||die "The file coundn't find ,$!!";

@readline=<handle>;

foreach $line(@readline)
{
print handle2 $line;
}

Foreach最好不要用,太费效率,楼上正解
楼上的老大
d:/env.pl
/在MSWIN下路径这个吗,
楼上的老大
d:/env.pl
/在MSWIN下路径这个吗,
你是在什么环境下运行的?
如果是web环境,没有
print "Content-type: text/html; charset=GB2312\n\n";

就会出错
楼上->楼上->楼上
[quote]回复给 unicorn : 楼上的老大...[/quote]

nuicorn,我知道你的意思。你是说要用 "\ "表示路径?
现在的perl 支持在windows 下用 /
路径可以写“D:/test/test/kkk.txt”
其实可以这样 其实可以这样
[color=ff00ff]
open (FILE, "file.path") ;
print FILE while(<>);[/color][CCB]1[/CCB]
我的经验
1,同意十楼的写法
2,如果是windows的perl,文件路径应这样写:"C:/perl/bin/story.txt",或者这样写:"C:\\perl\\bin\\story.txt".
请试试看!