• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字変換で,を改行されないようにしたい)

文字変換で,を改行されないようにしたい

このQ&Aのポイント
  • 文字変換による改行の問題を解決する方法について教えてください。
  • スクリプトの特定の部分を修正することで、望んだ形式の結果を得ることができます。
  • 他のスマートな方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

open(IN, "<list1.txt"); @datas = <IN>; close(IN); open(OUT, ">date.txt"); foreach (@datas) { chomp; #タイミング的にはどうせならこっちのがいいかも ($a, $b) = split /<>/; # $_ は省略できる print OUT "'$a'=>'$b',\n"; } close(OUT);

taku0
質問者

お礼

そういえば$_は省略できるんでしたよねー。 split以降の場面でもどうように省略できるのは、ちょっとした発見でした。 またタイミングの場所についてもご教授いただき恐れ入ります。 有難うございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1の場合、 print OUT "'$a'=>'$b',\n"; にする必要があります。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

@datas = <IN>; で読み込んだ各行の行末には、もともと改行が付属しています。 なので @datas = <IN>; chomp @datas; として、行末の改行を取り除いてやれば良いと思います。(他にも方法はあるかと思いますが、これが簡単だと思います。)

taku0
質問者

お礼

@datas = <IN>;で読み込んだ場合の行末には改行が含まれているんですね 一つ学習できました。ありがとうございます。 chompで行末の改行を取り除けばよかったんですか。 chomp自体は知っていても使う機会がなく、考えがそこまで及びませんでした。 何とも恥かしい限りですが、ご教授頂いたおかげで無事に達成する事ができました。本当にありがとうございます。

関連するQ&A