2024/06/07(金) [n年前の日記]
#2 [perl] Perlのアレコレについてメモ
今回 Perl のスクリプトを書いた際にググって調べた点についてメモ。
◎ OS判別 :
「$^O」という特殊変数を見れば、何のOS上でPerlが動いているかが分かるらしい。
_OS名を取得する $^O - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
_[perlメモ]OSの判別方法 ≫ KUMA TYPE
_OS名を取得する $^O - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
_[perlメモ]OSの判別方法 ≫ KUMA TYPE
◎ テキストファイルに出力する時に改行コードをLFにしたい :
Windowsの改行コードはCRLFだけど、UNIX/Linuxの改行コードはLFなので、Windows上でPerlスクリプトを動かしてテキストファイルに出力する時に、改行コードをLinuxのLFにしておきたい。
open() でファイルを開いた直後に、binmode でバイナリモードにすればいいらしい。テキストモードでは "\n" を各OSに合わせて自動変換するので、Windows上では "\n" が CRLF になってしまうけれど、バイナリモードなら自動変換が働かなくなるので、"\n" はLFのみになる。
_Windows上のPerlで改行コードをLF(0x0a)にするには - 小池啓仁 ヒロヒト応援ブログ By はてな
_Perlを使い、思い通りの文字コードと改行コードでファイルを作成する方法 - pikio公式ブログ
open() でファイルを開いた直後に、binmode でバイナリモードにすればいいらしい。テキストモードでは "\n" を各OSに合わせて自動変換するので、Windows上では "\n" が CRLF になってしまうけれど、バイナリモードなら自動変換が働かなくなるので、"\n" はLFのみになる。
_Windows上のPerlで改行コードをLF(0x0a)にするには - 小池啓仁 ヒロヒト応援ブログ By はてな
_Perlを使い、思い通りの文字コードと改行コードでファイルを作成する方法 - pikio公式ブログ
◎ エポック秒を日付と時刻にしたい :
エポック秒、UNIX秒と言う時間の扱い方がある。1970/01/01 00:00:00 から何秒経過したか、という扱いなのだろうか。
このUNIX秒から、日付と時刻の情報に変換したい時は、localtime() が使える。配列を返してきて、それぞれに年月日、曜日、時分秒が入ってる。
_localtime 関数 - UNIX 秒をローカル時間に変換する | Perl 組み込み関数 | futomi's CGI Cafe
_Perlで日付・時刻を扱う - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
このUNIX秒から、日付と時刻の情報に変換したい時は、localtime() が使える。配列を返してきて、それぞれに年月日、曜日、時分秒が入ってる。
_localtime 関数 - UNIX 秒をローカル時間に変換する | Perl 組み込み関数 | futomi's CGI Cafe
_Perlで日付・時刻を扱う - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
◎ open()の書き方は昔と今では違ってる :
◎ パスの結合 :
File::Spec->catfile("Directory", "file") が使える。
_File::Spec - OSに依存しないファイル名を作成 - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
_File::Spec - OSに依存しないファイル名を作成 - Perlゼミ|Perlの基礎をインストールからサンプルで丁寧に解説
[ ツッコむ ]
以上です。