ファイルの中から「特定の文字列」を検索して「特定の文字列」が、無い場合に「特定の文字列」を書き足すプログラムを書きたいのですが、どうしてもうまくいきません。
すでに書かれているものまで出力されてしまうのを
書かれている物は出力しないようにしたいです。
現状のソースの一部です。
#K_tempからshiを検索/無ければK_tempにshiを追記。
open KT,"<../area/$ken/k_temp.dat";
while(<KT>){
my $kt = $_;
if($kt eq $shi){
$um = "ari";
}
}
close KT;
if($um ne "ari"){
open KTE,">>../area/$ken/k_temp.dat";
print KTE "$shi\n";
close KTE;
$um = "";
}
宜しくお願いします。
後半部分を以下のように変えてみてはいかがですか。
if($um ne "ari"){
open KTE,">>../area/$ken/k_temp.dat";
print KTE "$shi\n";
close KTE;
} else {
$um = "";
}