私は現在、いくつかのユーザー/パスワード情報を保持しているPerlファイルを分割していますが、これは正常に実行していますが、自分のコードでは満足できません。私はPerlでそれを行うより良い方法があると確信しています(私は初心者です)。もし誰かがぴったりなやり方を思いつくことができたら!Perlファイルを行と変数に分割する
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
あなたはどのデータベースを使用していますか?これを行う最善の方法は、データベースサーバーが資格情報ファイルを直接解析できるようにすることです。たとえば、MySQLには[オプションファイル](https://dev.mysql.com/doc/refman/5.7/en/option-files.html)があり、Postgresには[.pgpass](https://www.postgresql。 org/docs/9.2/static/libpq-pgpass.html)。 – ThisSuitIsBlackNot