我正在进行用户登录,并且遇到了用户创建部分的问题.我的问题是我正在尝试检查文本文件的输入用户名,看看该用户名是否已经存在.我似乎无法将输入用户名与我引入的数组进行比较.我尝试了两种不同的方法来实现这一点.一个使用数组,另一个使用我在网上阅读的东西,我不太明白.任何帮助或解释将不胜感激.
这是我尝试使用数组来比较 http://codepad.org/G7xmsf3z
这是我的第二次尝试 http://codepad.org/SbeqmdbG
在第一次尝试中,尝试将 if 放入循环内:
foreach my $pair(@incomingarray) {
    (my $name,my $value) = split (/:/, $pair);
    if ($name eq $username) {
      print p("Username is already taken, try again");
      close(YYY);
      print end_html();
    }
    else {
      open(YYY, ">>password.txt");
      print YYY $username.":".$hashpass."\n";
      print p("Your account has been created sucessfully");
     close(YYY);
     print end_html();
   }
}
在你的第二次尝试中,我认为你应该尝试改变这一行:
if (%users eq $username) {
与这个:
if (defined $users{$username}) {
| 归档时间: | 
 | 
| 查看次数: | 328 次 | 
| 最近记录: |