作者
|
标题: 请教一个和PERL有关的问题
|
-2b
未注册
|
| |
事情是这样的: 我在改YUZI的BBS3000,本来没什么问题的,不过在写文件的时候却出现了以下问题: setup.cgi里面有下面语句: $filepath="/home/apps/sbs/"; yhreg.cgi有下面语句 require "setup.cgi"; open(PSD,">$filepath/yhzl/$username.cgi"); 上面语句实际上翻译过来就是 open(PSD,">/home/apps/sbs/yhzl/$username.cgi"); 但是我用这个语法的时候程序却给我返回:No such file or directory 而我用open(PSD,">d:/home/apps/sbs/yhzl/$username.cgi")或者 open(PSD,">d:\\home\\apps\\sbs\\yhzl\\$username\.cgi")的时候他却说:Invalid argument 我在这里糊涂得很,不知道到底是怎么个事情,是不是NT权限出问题了???但是yhreg.cgi却可以运行啊?????????????????? 出现这种情况有些什么可能性呀?
| |
IP: 已记录
|
|
|
NetDemon
初级成员
编号: 2
评价成员
|
| |
问题出现在这 $username.cgi ,在这里 perl 认为 $usermane 为一个变量, . 为 perl 的字符合并操作符, open(PSD,">/home/apps/sbs/yhzl/$username.cgi"); 你在win 系统吧 ,当然没有 /home 了 所以No such file or directory 当而我用open(PSD,">d:/home/apps/sbs/yhzl/$username.cgi") 时,路径找到了,但是 $username.cgi 这样确是错误的,所以Invalid argument 其实这里应该是open(PSD,">d:/home/apps/sbs/yhzl/username.cgi")才对,没有 $ 的
------------------ 微软给了我窗户,因此UNIX给了我房子 微软给我窗户了吗?没有 所以UNIX没有给了我房子 我仍然游荡在Internet上
| |
发表: 4 | 注册: 2005-02-27
| IP: 已记录
|
|
|
|
-2b
未注册
|
| |
而且,当YUZI的yhreg.cgi使用open(PSD,">/home/apps/sbs/yhzl/$username.cgi"); 的时候,系统却能正常运行(NT的系统)
| |
IP: 已记录
|
|
|
NetDemon
初级成员
编号: 2
评价成员
|
| |
你把 c:/home/apps/sbs/ 换成你的真正路径了没有啊? 假如你把文件放在 c:/httpd/cgi-bin/bbs3000 你只要改动 setup.cgi 中的 $filepath="/home/apps/sbs/";为 $filepath="c:/httpd/cgi-bin/bbs3000";就行了,你改 yhreg.cgi 干什么 ? 另外,我刚刚看了,是$username.cgi没错,如果$username = -2b ,他就要打开 -2b.cgi 这个文件,但 yhreg.cgi 似乎没有 open(PSD,">$filepath/yhzl/$username.cgi"); 语句,只有 open(PSD,">>$filepath/yhzl/$username.cgi"); 和 open(PSD,"$filepath/yhzl/$username.cgi");
------------------ 微软给了我窗户,因此UNIX给了我房子 微软给我窗户了吗?没有 所以UNIX没有给了我房子 我仍然游荡在Internet上
| |
发表: 4 | 注册: 2005-02-27
| IP: 已记录
|
|
|
disguise
未注册
|
| |
,">$filepath/yhzl/$username.cgi,
| |
IP: 已记录
|
|
|
disguise
未注册
|
| |
,">$filepath/yhzl/$username.cgi, $是参数吗?还是习惯写法,我发现过不少回
| |
IP: 已记录
|
|
|
|
NetDemon
初级成员
编号: 2
评价成员
|
| |
http://bbs.luzhou.net/apps/sbs/bbs.cgi 这个是好用的阿,我顺利的注册了aaaz 密码aaaz 根本没有任何出错,你又这么说错了呢? ``open(PSD,">$filepath/yhzl/$username.cgi");这种写法里面的"$"和后面的字母看成一个函数`` 是变量不是函数 你把你的yhreg.cgi贴上来吧,注意贴的时候选禁止笑脸这个复选框 ------------------ 微软给了我窗户,因此UNIX给了我房子 微软给我窗户了吗?没有 所以UNIX没有给了我房子 我仍然游荡在Internet上
| |
发表: 4 | 注册: 2005-02-27
| IP: 已记录
|
|
|
-2b
未注册
|
| |
奇怪就是奇怪在这里,用户能够注册,但是我写的程序放在上面就要出错,我用open(PSD,"ABC.CDE");没问题,但是用open(PSD,">ABC.CDE")就要出问题了
| |
IP: 已记录
|
|
|