あるパールスクリプトのことで・・・

[上に] [前に] [次に]
CID [E-Mail] 1999/04/28(水) 05:11:27
http://west.fuji.to/bbs/resbbs.txt
なんですが $subject が文末に改行を自動挿入しているのですが
それを禁止したいのですが、それらしい動作をしているような
部分が見つかりません。
ご教授ください。

B-Cus 1999/04/28(水) 05:34:08
ファイルの各行の最後には改行コードが付いてるので、
 @DATA = <NOTE>;
 foreach $line (@DATA) {
  ここらへんに chop $line; を挿入すればいいんじゃないんでしょうか。
  ($date,$code,$ress,$name,$email,$comment,$subject) = split(/\,/,$line);

CID 1999/04/28(水) 05:41:57
ログファイルの中身の順番を入れ替えると言うのでもOKですか?

羽崎 1999/04/28(水) 10:28:23
データの横軸(フィールド)も縦軸(レコード)をいじるときも
ファイルに書きこむときにレコードの最後に改行コードを付加すれば
いいんではないでしょうか。

B-Cus 1999/04/28(水) 12:44:40
ということでなくて、
 foreach $line (@DATA) {
とした時点で、
 $line eq "1999/01/01,code,ress,Name,hoge@fuga,comment,subject\n"
なんです。それを
 ($date,$code,$ress,$name,$email,$comment,$subject) = split(/\,/,$line);
すれば
 $subject eq "subject\n"
になります。

だから、chop $lineをしてみては、ということです。
もちろん split した後で chop $subject でもいいですけど。

# 確かめたわけじゃないから違ってたら失礼。

羽崎 1999/04/28(水) 13:51:59
私、ソースコードを見ていない(デッドリンクしているみたいでした)
ので、憶測でものを言っていますが・・・と前置き。
レコードの区切りに改行コードを使っているので、それを消せばいいということで。

ちなみにB-Cusさんの後者の方法は
  chop $line;
 ($date,$code,$ress,$name,$email,$comment,$subject) = split(/\,/,$line);
です。

いちどデータファイル(ファイル名知らず)の中身を見てみるといいと思いますよ。

CID 1999/04/28(水) 18:13:35
http://west.fuji.to/bbs/resbbs.txt
再アップロードしました.

[上に] [前に] [次に]