プロが教えるわが家の防犯対策術!

下記はPerlで書かれたコメントの中に"http"の単語があるコメントの行を削除するコードです
PHPで書き直したいのですが考えてもうまくいきません、
よろしくお願いします。
$a = "http";
$dname = "data"; # デレクトリ名
opendir( DIR,"./$dname/" ); # デレクトリ open
@DB = readdir(DIR); # デレクトリ read
close(DIR); # デレクトリ close
$file_dir = "./data/"; # データを置くディレクトリ
foreach (@DB) {
$userfile = "$file_dir$_"; # ファイル名
open (IN, $userfile); # ファイル open
@lines = <IN>;
close(IN);
$del = 0;
$error1 = 0;
foreach $line (@lines) {
($fmain_no,$fname,$fpasswd,$fmail,$fmldisp,$fsex,$fage,$fadrs,$fpr,$fdate_now) = split(/,/,$line);
if ( $fpr =~ /$a/ ){ $del = 1; }
if ( $del == 2 ){ last; }
if ( $del == 1 ){
$file_dir2 = "./data/";
$userfile2 = "$file_dir2$_";
if (!open(DB2, $userfile2)) {
unlink($lock_file2);
$error1 = 1;
}
if ( $error1 == 1 ) { next; }
@lines2 = <DB2>;
close(DB2);
@new = ();
foreach $line2 (@lines2){
($csub_no,$cname,$cpasswd,$cmail,$cmldisp,$csex,$cage,$cadrs,$cpr,$cdate_now) = split(/,/,$line2);
$del2 = 0;
if ($cpr =~ /$a/) { $del2 = 1; }
if ($del2 == 0) { push(@new,$line2);}
if (!open(DB2,">$userfile2")) {
unlink($lock_file2);
&error("ファイルを開けません(user data3)" );
}
print DB2 @new;
close(DB2);
unlink($lock_file2);
}
$del = 2;
}
}
}

A 回答 (1件)

>考えてもうまくいきません



具体的にどこまでできていて、「うまくいかなかった」とは何をもって判断しているのかが分からないとアドバイスのしようもありません
    • good
    • 1
この回答へのお礼

アドバイスありがとうございます。
$cprにhttpがあると削除したい

旧ファイル1234

1,abcd
2,http
3,bcde
4,http

2,4,を削除して
新ファイル1234

1,abcd
3,bcde
に書き変えたい。
よろしくお願いします。

お礼日時:2017/06/23 17:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!