perlのcgiで、テキストファイルを読み込むと、行末に余計なスペースが入ってしまいます。


open( FILE_H, "hogehoge.dat" );
@array1 = <FILE_H>;

とやってるのですが、
$array1[0]の最後に "hogehoge.dat"にはないスペースが1文字入ってしまいます。

Windows XPのローカルPC上で、同じcgiを動かしても、このスペースは入りません。

余計なスペースが入らなくする方法はないでしょうか?
読み込んだ後で、行末のスペースを削除するしかないのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2007/09/17 23:34:21
  • 終了:2007/09/18 00:06:00

ベストアンサー

id:takabow No.1

noname回答回数51ベストアンサー獲得回数142007/09/18 00:00:04

ポイント100pt

それではお言葉に甘えて、、

--

文章を見る限り何かしらのサーバ上で実行しているようですが、

テキストファイルをサーバへ転送時に、改行コードの変換ができてないのでは?

Windowsの改行コードの\r\nの片割れがゴミとして残ってるとか。

id:at_cafe

ありがとうございます。

コメントの通り、takabowさんのおかげで解決しました。

初歩的なミスかもしれませんが、はまると抜け出せませんでした。

速攻で解決できたので、とてもうれしいですw

2007/09/18 00:05:00
  • id:takabow
    文章を見る限り何かしらのサーバ上で実行しているようですが、
    テキストファイルをサーバへ転送時に、改行コードの変換ができてないのでは?
    Windowsの改行コードの\r\nの片割れがゴミとして残ってるとか。
  • id:at_cafe
    takabowさん、ありがとうございます。
    正解でした。

    テキストファイルを転送するとき、バイナリーモードで転送されていたようです。
    アスキーモードで転送したら、余計なスペースは消えました。

    ポイントを差し上げたいので、このコメントのコピペでいいので、回答して頂けないでしょうか?

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

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

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

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