人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: izunagonago
●カテゴリ:コンピュータ
✍キーワード:Perl txt スクリプト ディレクトリ ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● まきのっぴ
●10ポイント

http://www.hatena.ne.jp/awindow?qid=1127295649

open(FILE, ’a.txt’);

$line = <FILE>;

close(FILE);

$line =~ s/WWWWWW//;

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

print FILE $line;

close(FILE);

でしょうか?


2 ● akibare
●25ポイント

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);

◎質問者からの返答

試します

ありがとうございます


3 ● aki73ix
●25ポイント

http://nifberry.727.net/test/hatena149a.cgi

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


#!/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;

http://nifberry.727.net/test/hatena149.htm

ローカルファイルの場合は、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;

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ