Nvuを使ってみたら・・・。その2
標準の設定のまま使ったのがいけなかったみたいだ。
設定を変更すれば、問題ないみたいだ。
- Nvuのメニューから[Tools] → [Preferences] を選ぶ。
- 左側のメニューから[General] を選ぶ。
- 右側の上から2番目の[When Saving or Publishing Pages] 欄で「Retain original source formatting」を選ぶ。
とりあえず、この設定で、ソースを改変せずに別名で保存して、エディタで開いてみたのだが、段下げは、クリアされなかったし、余計な改行コードだけの行が挿入されることもなかったのだが、既存の改行コードに「^M」という文字が付いていた。
改行コードを確認するために、バイナリエディタで調べてみたところ、先頭行の改行が何故か、「0A」(LF)になっていた。そのため、他の改行コードは、「0D」(CR)「0A」(LF)になっているため、「0D」(CR)部分が改行コードとして認識されていなかったみたいだ。
何故、こんなことになっているのかはわからないが、Windowsの場合、CR+LFでないとまずいので、修正することにした。
昨日のPerlスクリプトを改良して、下記のようにしてみたのだが・・・。
#! /usr/local/bin/perl #******************************************************** # 最初の行の改行コードのみLF → CR+LFに変換するプログラム #******************************************************** # 入出力ファイル定義部 open (IN,"software.html") || die "ファイルが見つかりませんでした。"; open (OUT,">softwar1.html"); # 処理部 while(<IN>){ s/\n/\r\n/; print OUT; } # 終了処理 close IN; close OUT;
この出力結果をエディタで見てみると、最初の行にも「^M」が付いているが、これが見えている時点で駄目ということで、バイナリエディタで見て見ると、今度は、余分に、「0D」(CR)が付いている。つまり、CR+CR+LFになっている。
結局、下記のように修正し、処理したところ、うまくいった。
#! /usr/local/bin/perl #************************************************* # データを読み込み、別ファイルに保存するプログラム #************************************************* # 入出力ファイル定義部 open (IN,"software.html") || die "ファイルが見つかりませんでした。"; open (OUT,">softwar1.html"); # 処理部 while(<IN>){ print OUT; } # 終了処理 close IN; close OUT;
本当にデータを読み込んで、別ファイルに移しているだけなのだが、これで、一応、うまくいった。(一部、気になる部分はあるが、とりあえず、問題ない。)
まだ、どこか設定が悪いのだろうか?
全然関係ないけど、バイナリコードの「09」が気になって、調べてみたら、どうやら、「TAB」だったみたいだ。