Я пытаюсь понять, почему я не мог заставить свои переменные работать должным образом, используя Getopt::Std
.
Например, в этом выражении Perl DBI, где имя пользователя и пароль заключены в одинарные кавычки, все работает нормально:
my $dbh = DBI->connect("DBI:mysql:database=$dbsrc;host=$node",'foo-bar','mypw');
Но я хочу изменить этот оператор, чтобы я мог передать переменную для $user, $pw. Я использую Getopt::Std;
для передачи этих значений:
my $dbh = DBI->connect("DBI:mysql:database=$dbsrc;host=$node", '$user','$pw');
ЭТО РАБОТАЕТ СЕЙЧАС:
my $dbh = DBI->connect("DBI:mysql:database=$dbsrc;host=$node", $user,$pw);
Я получаю следующее сообщение об ошибке:
DBI connect('database=;host=hostname','',...) failed:
ОБНОВЛЕНО: после того, как все внесли свой вклад, лучший способ устранить эту проблему для меня состоял в том, чтобы увидеть, выполняются ли мои вары. Я в основном передавал неправильные значения. Итак, я просто протестировал часть dbi с помощью getopts для этих двух значений и ничего больше, и смог заставить его работать.
...=3306", $user, $pw)
- person ysth   schedule 10.05.2011