Perlの質問です。

ローカルディレクトリにあるファイルa.txtに書かれた’HelloWWWWWWWW’を読み出し、WWWWWWを削除して別の名前でファイルを保存するにはどのようなスクリプトが必要になりますか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/09/21 18:40:49
  • 終了:--

回答(3件)

id:pmakino No.1

まきのっぴ回答回数355ベストアンサー獲得回数282005/09/21 23:55:41

ポイント10pt

open(FILE, ’a.txt’);

$line = <FILE>;

close(FILE);

$line =~ s/WWWWWW//;

open(FILE, ’>別の名前’);

print FILE $line;

close(FILE);

でしょうか?

id:akibare No.2

akibare回答回数157ベストアンサー獲得回数52005/09/21 21:18:40

ポイント25pt

http://www.harukaze.net/~mishima/perl/index.html

Perl for Newbie�iPerl���S�҂̕����j

まあ、とりあえずこれで動くようです。。。。が

最短ではないと思います。


open(INPUTFILE, ”a.txt”);

open(OUTPUTFILE, ”>b.txt”);

while($lin = <INPUTFILE>)

{

$lin =~ s/(hello)(.*$)/$1/;

print OUTPUTFILE $lin;

}

close(INPUTFILE);

close(OUTPUTFILE);

id:izunagonago

試します

ありがとうございます

2005/09/22 12:20:10
id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272005/09/21 21:40:47

ポイント25pt

サーバー側で処理するなら単純にこれだけです


#!/usr/local/bin/perl

print qq(Content-type: text/html¥n¥n);

#リモートの a.txtを

open(FILE,"a.txt");

#リモートの data/a2.txtに出力(data フォルダは書き込み許可にしておく)

open(FILE2,">data/a2.txt");

@que = <FILE>;

foreach $ax (@que){

#ココで置換します

$ax =~s/WWWWWWWW//g;

print FILE2 $ax."¥n";

}

close(FILE);

close(FILE2);

exit;

ローカルファイルの場合は、htmファイルも用意する必要があります


<HTML>

<HEAD>

<TITILE>アップロード</TITLE>

</HEAD>

<BODY>

<FORM ACTION="hatena149.cgi" ENCTYPE="multipart/form-data" METHOD="POST">

ファイル: <INPUT TYPE="file" NAME="File" SIZE="32" VALUE="a.txt"><BR>

<INPUT TYPE="submit" VALUE="送信">

</FORM>

</BODY>

</HTML>


CGIは以下のようになります


#!/usr/local/bin/perl

use CGI;

$query = new CGI;


print "Content-type: text/plain¥n¥n";


$filename = $query->param('File');

$type = $query->uploadInfo($filename)->{'Content-Type'};


# リモートにファイルを保存する場合は、コメントアウトを外します

#open(FILE2,"a2.txt");

if ($type =~ /^text¥//) {

while (<$filename>) {

$ax=$_;

$ax=~s/WWWWWWWW//g;

#ここで「WWWWWWWW」を消します

print $ax;

# リモートにファイルを保存する場合は、コメントアウトを外します

# print FILE2 $ax;

}

}

else {

print "これはテキストではありません。¥n";

}

# リモートにファイルを保存する場合は、コメントアウトを外します

# close(FILE2);

exit;

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません