お世話になります。
ActivePerlでは、UNIXのPerlとの互換性を持たせるために、Windows改行\r\n(0x0d0a)を読み込んだら\n(0x0a)を読み込んだように、\n(0x0a)を書き出したら\r\n(0x0d0a)を書き出したように動作します。
この動作を抑制するためには、binmodeを使います。
ところが、
binmode STDOUT;
のように行うと、確かに標準出力で普通に\nを出力すると、0x0aが出力されるのですが、<>(ダイアモンド演算子)に関しては、なんと言うファイルハンドルにbinmodeを使っていいかわかりません。
どうすればいいでしょうか。
具体的にいうと、以下のようなファイルをダンプするプログラムで、現状では0d0aが0aと表示されます。
#! perl
#fileDump.pl
while (<>) {
for (split //) {
print unpack "H2", $_;
}
}
PerlのマニュアルによるとARGVというファイルハンドルを使っているという話がありましたが、
binmode ARGV;
ではダメでした。
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
ありがとうございます。
binmodeでなくてPerlIOを使う方法ですね。
INでなくてIOを指定すれば STDOUT の改行自動変換も抑制されますね。
貴重な情報ありがとうございます!
<>にbinmodeを利かせる方法をご存知の方、継続してお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
ExcelをCSV書き出す場合のシー...
-
エクセルVBAでCSVファイ...
-
batファイルでrenameができませ...
-
Perl cgiの文字化けを直したい ...
-
【エクセル】改行無しテキスト...
-
ディレクトリの判別
-
window.open でのファイル指定方法
-
拡張子 ”log” と ” dat” の違い
-
fopenでディレクトリ内の全ファ...
-
cgiでサーバーにファイルを追加...
-
エクセルVBA コードが同じでも...
-
htaccessで特定のディレクトリ...
-
VBAでCSVファイルを途中行まで...
-
全角と半角文字が混在している...
-
Windowsで複数のファイルを同じ...
-
perl で作成された文書と知るに...
-
CSVファイルについて
-
openした後、closeしないでプロ...
-
重複ファイル名ある場合ファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
エクセルVBAで素数だけを出力す...
-
DOSコマンドで、標準出力を出力...
-
sprintfについて
-
教えて!perlから.exeファイル...
-
重複するデータを抽出できる秀...
-
Perl<->Oracle間での文字化けに...
-
ファイル出力の改行コードをLFに
-
[Perl]ファイル出力のエンコー...
-
sprintfで10進数を桁数指定で16...
-
LISPによる横型探索
-
テキストファイルから日本語部...
-
コマンドプロンプトで行が見え...
-
バッチファイルで、記号を含む...
-
文字コードの変換(Shift-JISか...
-
Perlでエラーログに日時をつける
-
ドメインからIPアドレスあるい...
-
Perlからsyslog経由でログを出...
-
自動更新
-
機器のI/OをArduinoでSDに記録...
おすすめ情報