Perl 板


LINE

※ 引述《yingwan (yingwan)》之铭言: : 又卡住了....只要上来求助前辈了 : 我想要用perl CGI 写一个使用户登入的网页 : 程式会先检查档案里里有没有这个帐号存在, : 有的话就会出现该用户的email,没有的话程式就会说"该用户不存在" : 写了半天网页都一直出现email,也不管有没有哪个ID存在 : 希望前辈们帮我看看我是哪里写错,谢谢大家 : #!/usr/bin/perl : #-------------------------------------------------------- : #Login page for userID and password : #if userID already exist or missing input, show error msg : #otherwise, show user's email address : #-------------------------------------------------------- : use CGI qw(:standard -debug); : use CGI::Carp qw(fatalsToBrowser); : #get input : $userid= param ("userid"); : $password= param ("password"); : $file="hw6-22.out"; : open(IN,$file) || die "can't read $file"; : @all = <IN> ; : close(IN); : chomp @all; : #checking for existing userID : %all=(); : foreach (@all) { : ($userid, $password, $email) = split(/,/,$_); : $all{$userid} =$password; : } : if (exists $all{$userid}) { : print header(); : print start_html(-title=>"Existing ID"); : print h2("Your email address:"); : print p("$email"); : exit; : } : # check for missing input : if ($userid eq "") { push(@missing,"User ID"); } : if ($password eq "") {push (@missing, "Password");} : $missing= join(", ",@missing); : if ($missing) { : print header(); : print start_html(-title=>"missing input"); : print h2("Incomplete Input"); : print p("You did not enter <b>$missing</b>"); : print end_html(); : exit; : } : else : { : print header(); : print start_html(-title=>"Not exist"); : print p("<b>The UserId does not exist </b>"); : print end_html(); : exit; : } 只列出有修改的部分... #checking for existing userID %all=(); foreach (@all) { next if(/^$/); # 跳过空行 #($userid, $password, $email) = split(/,/,$_); my ($userid, $password, $email) = split(/,/,$_); next if($userid == '' or $password == '' or $email == ''); # 跳过资料有缺的 #$all{$userid} =$password; $all{$userid}{'password'} =$password; $all{$userid}{'email'} =$email; } #if (exists $all{$userid}) { if (exists $all{$userid}{'password'}) { print header(); print start_html(-title=>"Existing ID"); print h2("Your email address:"); # print p("$email"); print p("$all{$userid}{'email'}"); exit; } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.232.236.185 ※ 编辑: giacch 来自: 118.232.236.185 (10/20 12:53)
1F:→ giacch:跳过 空行 与 资料有缺 用意在检查资料格式是否正常... 10/20 12:56
2F:→ giacch:大略检查而已(不够严谨)... 不是问题的重点啦... XD 10/20 12:59
3F:推 yingwan:大感谢...可以问一下有加my跟没加的差别吗? 10/21 09:28
4F:→ giacch:我只知道my能宣告成区域变数... 详细我也不甚了解... 10/21 11:13
5F:→ giacch:希望有大大能给个简单的定义或解释~ (我是初学者... orz 10/21 11:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP