これはシェルスクリプトです。Perlで同じことを行うにはどうすればよいですか?
prfile=~/sqllib/db2profile
profile()
{
if [ -f $prfile ] && [ "$prfile" != "" ];
then
. $prfile
else
read -p "Enter a valid Profile : " prfile
profile
fi
}
profile
ここでは、プロファイルファイルをチェックし、見つかった場合はそれを実行し. $prfile
ます。それ以外の場合は、ユーザーに適切なプロファイルファイルを再度要求します。
アップデート
#!/usr/bin/perl
use strict;
use warnings;
my $profile = "$ENV{'HOME'}/sqllib/db2proile";
# default profile
while (not -e $profile) { # until we find an existing file
print "Enter a valid profile: ";
chomp($profile = <>); # read a new profile
}
qx(. $profile);
これはうまくいきました。ホームディレクトリはマシンごとに異なるため、ハードコーディングするのではなく動的にする必要があります。私は、シェルで達成したことをPerlで達成しようとしています。