skillup

技術ブログ

Perl

Perlでの動的改行コード読み込みに関して+cp932ネタ

投稿日:2016年12月12日 更新日:

本日はperlにて改行コードを動的に読み込む方法です。

動的な改行コードの判定・読み込み

実務で古いMACで作られたCSVが読み込めないという事態が発生。また当然、win環境でも読み込むために、動的に改行コードを判定してなおす必要が出てきました。

いろいろ悩んだんですが、まず改行コード判定の際には下記プログラムでの読み込みを行いました。

そして実際に改行コードを読み込ませるのは下記のプログラムです。

多分、直すとこあると思うんですが・・・どうなんでしょう。

Mac のExcelで作ったCSVを適切にPerlで読むには?
Perlで改行コードがCRのファイルを読み込む方法

CPANライブラリ
http://search.cpan.org/~makamaka/Text-CSV-1.33/lib/Text/CSV.pm

ShitfJISとcp932について

もう一つ実務でローマ数字のみが文字化けという現象が発生しました。

どうやらcp932ファイルをsjisで読み込むとこのような事象が発生するようです。cp932とShitJISは完全に一緒ではないので注意しましょう。

CP932変換表の問題が顕在化する例

-Perl
-,

執筆者:


  1. […] Perlでの動的改行コード読み込みに関して+cp932ネタ […]

  2. あやたか より:

    こういうときに m/\R/ を使うのではないかと思いました。

mb_convert_encodingに関して(文字コードの自動検出やその周辺) – skillup へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Perlの配列、ハッシュ系の処理 (mapを中心に)

昨日書いたgrepに続き、mapについて調べたことを書いてみました。 Contents1 mapとは?2 mapを使った配列処理 基本3 mapを使った配列、ハッシュ処理 ハッシュを含む多次元配列への …

no image

Vagarant+Eclipse(Perl)での作業環境構築

現在の案件でPerlの改修があるんですが、windowsだとモジュールの依存関係でうまくコンパイルできなかったりといろいろとトラブルが起こったんで、今はやりの仮想環境でやることに。 まだ完ぺきではない …

no image

PerlでのCSV取込+金額のカンマ表示

CSV取込の場合、単純にカンマで区切って配列を取得するだけのロジックを実装すると様々な弊害が起きます。 よく見られるパターンとしては下記のようなケースでしょう。 フィールドの中に、カンマがあった場合、 …

no image

Perlの文字コードに関して その1

Perlの文字コードがらみに関して。 何となくやってきたのですが、せっかくなら整理したいのでまとめておきます。 なおPerl自体は5.8.1以降を前提にしたいと思います。 Contents1 参考資料 …

no image

Basic認証のあるページの情報の取得

ひさびさにPHPネタです。 PHPではWEBページを保存するときにfile_get_contents(url)と書いてあげるとHTMLデータを取得できます。 が、Basic認証などのページは当然fal …

アーカイブ