Я получил сообщение об ошибке в Perl Отсутствует запятая после первого аргумента для открытия функции - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь создать базу данных perl-программы. Но я получаю эти ошибки:

Missing comma after first argument to open function at database-txt.pl line 15, near "">$name.pswrd";"
Missing comma after first argument to open function at database-txt.pl line 25, near ""$a.nme";"
Missing comma after first argument to open function at database-txt.pl line 30, near ""$a.pswrd";"

Спасибо! * * 1004

sub change {
    my($a) = @_;
    chdir "$a" or die "ERROR: $!";
}
print "Do you want to register or log-in? "; chomp($a=<STDIN>);
if($a =~ /register/i) {
      print "What is your name: "; chomp($name=<STDIN>);
      print "What is your password: "; chomp($password=<STDIN>);
      change "name";
      open NAME, ">$name.nme";
      print NAME "$name";
      close NAME;
      change "..";
      change "password";
      open PASSWORD ">$name.pswrd";
      print PASSWORD "$password";
      close PASSWORD;
      change "..";
      print "Complete.\n";
}
else {
      print "Name: "; chomp($a=<STDIN>);
      print "Password: "; chomp($b=<STDIN>);
      change "name";
      open NAME "$a.nme";
      $c=<NAME>;
      close NAME;
      change "..";
      change "password";
      open PASSWORD "$a.pswrd";
      $d=<PASSWORD>;
      PASSWORD;
      "..";
}
if($a =~ /$c/ and $b =~ /$d/) {
      print "Log-in successful!\n";
      sleep(2);
      print  "Hello, $a!\n";
}

Ответы [ 2 ]

2 голосов
/ 10 марта 2019
open NAME "$a.nme";

должно быть

open NAME, "$a.nme";

Кроме того, я настоятельно рекомендую, чтобы ваш код был проверен .Есть множество улучшений, которые можно сделать.

0 голосов
/ 09 марта 2019

Вы забыли ()

open (NAME, "> $ name.pswrd");

закрыть (ИМЯ);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...