前提
(助言を受け編集しました)
perlの超初心者です。初歩的な質問ですみません。読み込んだ文書をsortして、新しい文書に書き込みたいです。
具体的に:
"I am a student. I go to school."を
"a am go I I school. student. to" みたいな感じにしたいです。
しかし、現在は
"a am I student. go I school to." みたいになってます。どうすれば段落ごとではなく全文書を並べ替えられますか?
自分がやってみたのは以下の通りです。
発生している問題・エラーメッセージ
open(TEXT, "< 元の文書"); $new = "保存する場所"; open(NEW, "> $new"); foreach $line(<TEXT>){ @line = split(/ /,$line); @line = sort(@line); print NEW "@line"; } close (TEXT); close (NEW);
該当のソースコード
perl
エラー
保存する場所では段落ごと?行ごと?に並べ替えられています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
まずインデントをまともなものにしてください。
すみません、初心者でまともなインデントがどのようなものであるべきかわからないのですが、わかりやすそうに空けてみました。
教科書を持っているなら見てください。こんなインデントをつけている例はないでしょう?
こういうことでしょうか?
ダメ。ブロックの中は一律に字下げするんですよ。ほんとうに教科書観てますか?
えと、これで合ってますか(汗) 教科書は持っていないので、先生のPPTを見て他のページで調べました(汗)
はい、そんな感じでOKです。うるさいこと言いやがってと思ったかもしれませんが、少し長いスクリプトを書き始めると、インデントがいい加減だと絶対にドツボにハマります。今のうちにきれいなコードを書く習慣をつけてください。
いえいえ、わざわざ教えて頂きありがとうございます!
回答3件
あなたの回答
tips
プレビュー