免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1624 | 回复: 3
打印 上一主题 下一主题

perl 编程技巧问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-04-25 16:02 |只看该作者 |倒序浏览
小弟在编cgi的时候,用了多个check来多选,然后通过perl来处理。即通过

选择多项按钮,来读取相应的输入。程序片断如下:
    if(not($check1 eq "")
     {
       my$ken1=$form{'keme1'};
      }
    if(not($check2 eq "")
      {
        my$ken2=$form{'keme2'};     
      }
    if(not($check3 eq "")
      {
        my$ken3=$form{'keme3'};
       }
.....................
目的是,每一个if都可以执行一遍,从而正确的得到输入项;但是,我的这

个一旦前面的check被选择,后面的就不被执行了,功能和单选的一样,也就

是说,一旦前面的if被执行,后面的就跳过了。我查了资料好像perl没有swi

ch(){case1;case2;...}语句。望各位高手帮帮忙,还有什么别的方法。先谢

谢了!!!

论坛徽章:
0
2 [报告]
发表于 2005-04-25 16:38 |只看该作者

perl 编程技巧问题?

SWITCH: {
    if (/^abc/) { $abc = 1; last SWITCH; }
    if (/^def/) { $def = 1; last SWITCH; }
    if (/^xyz/) { $xyz = 1; last SWITCH; }
    $nothing = 1;
}
you can write it with something like this

论坛徽章:
0
3 [报告]
发表于 2005-04-25 16:56 |只看该作者

perl 编程技巧问题?

你没用CGI.pm?我记得用一组checkbox的话可以直接得到一个数组吧

论坛徽章:
0
4 [报告]
发表于 2005-04-25 20:44 |只看该作者

perl 编程技巧问题?

我试了,用switch还是无法达到多项选择的功能!只执行最靠前的符合条件的语句,如果前面的成立,后面的就都跳过了!程序如下:
switch
  {
   if(not($check1 eq "")
     {
       my$ke1=$form{'keme1'};
       last switch;
      }

    if(not($check2  eq "")
      {
        my$ke2=$form{'keme2'};
        last switch;
      }

    if(not($check3 eq "")
      {
        my$ke3=$form{'keme3'};
        last switch;
        }
      }
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP