改行コードとchomp

Perl初心者のためのPerlノートです!

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ WEBリーダー/ 燈明日記/ yahoo

◆ はじめに

本ページは、私がPerlを習得した時(いや習得中)のノートです。

ごく普通の言語(COBOL,C,Java,VB等)を知っている人が、Perlをやり始めるといろいろと悩むことがあります。

それは、

です。

本ページは、そのようなハードルを一つ一つクリアにしていけたらと思います。

そして、本ページが何かのお役に立てれば幸いです。では、ごゆっくりご覧ください。

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくPerlノート掲示板へご指摘ください。

◆ サイト最新情報

◆ コンテンツ

■ 改行コードとchomp

まず、WINDOWS上で改行コードが各々、\x0D\x0A、\x0D、\x0A、の3つのテキストファイルを用意します。

そのテキストファイルをPerl(v5.8.8)で読み込み、chomp(改行コード削除)の振る舞いをテストしてみました。


結論から言うと、読み込みモードがテキストでもバイナリでも、chompは、行の最後に \x0A があるときだけ、それを削除します。

\x0D に関しては、なにもしません。

したがって、1度のchompだけで行末の \x0D\x0A を削除することは、ないみたいです。


  1. 改行コードが \x0D\x0A のテキストファイルをテキストモードで読み込むと改行コードは \x0A になりました。
  2. 改行コードが \x0D\x0A のテキストファイルをバイナリモードで読み込むと改行コードは \x0D\x0A になりました。
  3. 改行コードが \x0D のテキストファイルをテキストモードで読み込むと改行コードは \x0D になりました。
  4. 改行コードが \x0D のテキストファイルをバイナリモードで読み込むと改行コードは \x0D になりました。
  5. 改行コードが \x0A のテキストファイルをテキストモードで読み込むと改行コードは \x0A になりました。
  6. 改行コードが \x0A のテキストファイルをバイナリモードで読み込むと改行コードは \x0A になりました。

chompが有効だったのは、1,2,5,6のケースで、2,3,4のケースでは、\x0Dが残ります。

ちなみに、データダンプは以下のようにしました。$wkには一行データが入っています。

print "--->", unpack("H*", $wk), "<---", "\n";

◆ おすすめ Perl本

■ 続・初めてのPerl 改訂版

『初めてのPerl』の次ぎに読むと吉です。

結構いいですが・・・、初心者にはちょっと難しいかもです。

■ 結城浩のPerlクイズ

この本には、ちゃいちゃんパパの小話しが載っています(謎)。

ある程度、Perlを理解している人には、たまらない内容になっています。さすが結城先生だな!

結城浩のPerlクイズ

■ 新版Perl言語プログラミングレッスン入門編

実は、私はまだ読んでいませんが、結城先生の本なので良くないはずがありません。

新版Perl言語プログラミングレッスン入門編

■ CGI&Perlポケットリファレンス (Pocket reference)

この本は、非常に役に立ちます。ちょっと調べるのに最適です。サンプルも説明も的を射ています。

CGI&Perlポケットリファレンス (Pocket reference)

■ Perlベストプラクティス

一読の価値有りだと思います。

Perlベストプラクティス

■ プログラミングPerl〈VOLUME1〉

ご存知、Perl本の聖書、ラクダ本(上)です。

■ プログラミングPerl〈VOLUME2〉

ご存知、Perl本の聖書、ラクダ本(下)です。

◆ おわりに

最後に、本ページが、何かのお役に立てれば幸いです。

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくPerlノート掲示板へご指摘ください。

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ WEBリーダー/ 燈明日記/ yahoo

人のよいところをどんどん見つけよう