В настоящее время я разделяю файл Perl, содержащий некоторые данные о пользователе/пароле, и делаю это успешно, но не удовлетворен моим кодом. Я уверен, что есть лучший способ сделать это в Perl (я новичок). Если бы кто-то мог придумать более легкий способ, который был бы замечательным!Perl Split File В строки и переменные
my $i = 1;
my $DB;
my $DBHOST;
my $DBUSER;
my $DBPASS;
my $filename = "some_file";
open(my $fh, '<:encoding(UTF-8)', $filename)
or die "Could not open file '$filename' $!";
while (my $row = <$fh>) {
chomp $row;
if ($i == 1) {
$DB = (split /=/, $row)[1];
}
if ($i == 2) {
$DBHOST = (split /=/, $row)[1];
}
if ($i == 3) {
$DBUSER = (split /=/, $row)[1];
}
if ($i == 4) {
$DBPASS = (split /=/, $row)[1];
}
$i++;
}
[codereview.stackexchange] (http://codereview.stackexchange.com/) может быть лучшим местом для запроса обзора кода. –
Читайте о строгом, предупреждениях, закрытии дескрипторов файлов и $ i ++ можно заменить на $. в твоем случае. – user3606329
Какую базу данных вы используете? Способ * best * для этого - позволить серверу базы данных анализировать файл учетных данных напрямую. Например, MySQL имеет [файлы параметров] (https://dev.mysql.com/doc/refman/5.7/en/option-files.html), а Postgres имеет [.pgpass] (https: //www.postgresql. орг/документы/9.2/статический/libpq-pgpass.html). – ThisSuitIsBlackNot