私は基本的かつ断片的な知識しかないけれど、振り返ってみると思っていたよりも書くことが多かったです。また Perl を使う機会があったら見直してみようと思います。
スリープ
sleep 10; # 10s スリープ
1秒未満の単位でスリープさせたい場合は Time::Hires 拡張モジュールを使う。日付/時刻を取得
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$year += 1900;
$mon += 1;
my ($mday,$mon,$year) = (localtime(time))[3..5];
$year = $year + 1900;
$mon = $mon + 1;
my $now_date = sprintf("%04d\%02d\%02d", $year,$mon,$mday);
ファイルの更新時刻
my ($sec, $min, $hour, $mday, $mon, $year) = localtime((stat($file_path))[9]);
$year += 1900;
$mon += 1;
my $file_date="$year/$mon/$mday-$hour:$min:$sec";
乱数の生成
rand 関数を使って 0以上、引数未満の値をランダムで返す。整数で取得したい場合は int 関数を使う。$num = rand(10); # 0~9.99...
$num = int(rand(10)); # 0~9
seed 値を与えたい場合は、srand 関数を使って seed 値を設定できる。$srand 2; # seed
$num = int(rand(10)); # 0~9
シグナル処理
[Ctrl]+[c]キーでスクリプトを中断させたときの処理。できるだけ上部に書く。sub sub_trap {
die "\n"."exit (Ctrl-c)"
}
local $SIG{INT} = \&sub_trap;
バッファリングの無効化
$|=1;
元に戻したい場合は $|=0 とする。コマンドラインから文字列置換
コマンドラインから指定したファイルの文字列を置換する。ファイルの指定はワイルドカード使用可。$ perl -pi -e "s/<変更したい文字列>/<新しい文字列>/g" <ファイルのパス>
0 件のコメント:
コメントを投稿