Net::Telnetモジュールのエラーハンドリング
2004-04-23-1 / カテゴリ: [programming][network][perl] / [permlink]
login()の失敗などは、デフォルトで 'die' を行っているため、他の処理を行い
たい(ログファイルにイベントを出力して終了とか)場合は、ErrMode を変更す
る必要がある。
(A) new する際に、Errmode を指定する
たい(ログファイルにイベントを出力して終了とか)場合は、ErrMode を変更す
る必要がある。
(A) new する際に、Errmode を指定する
$a = Net::Telnet->new(Timeout => 10, Errmode => "return");(B) new した後に、Errmode を変更する。
$a->errmode("return");以上で、
$return = $telnet->login('user', 'pass');が失敗した際は、$return は undef になる。(成功時はErrmodeに関係なく1)
cygwin/Perl localtime で GMT の値が返ってくる
2004-04-13-2 / カテゴリ: [win][cygwin][programming][perl] / [permlink]
localtime 実行前に、
http://www.cygwin.com/ml/cygwin/2004-03/msg00866.html
use POSIX 'tzset'; tzset();を行っておく。
http://www.cygwin.com/ml/cygwin/2004-03/msg00866.html
Perl 文法チェック
2004-04-09-1 / カテゴリ: [programming][perl] / [permlink]
% perl -c script.plコンパイルのみ行い、実行はしない。
-w と併用も可能
正常なものは syntax OK と表示される。
1行目に #!/usr/bin/perl などがあっても実行はされない。
オープンした画像ファイルをCGIで表示
2004-04-02-1 / カテゴリ: [programming][perl][CGI] / [permlink]
print "Content-type: application/octet-stream\n\n"; open(F, "gazou.xxx"); binmode(F); print while(<F>); close(F);
fork で多重プロセス起動・全ての子プロセスを待って親の終了
2004-04-01-2 / カテゴリ: [programming][perl] / [permlink]
while( ) { if ($pid[$i] = fork) { 親(何もしない) } elsif (defined $pid[$i]) { 子(並列処理) exit; } else { fork失敗 } } foreach(@pid) { # 子のwait ("wait"ではダメ(子が一つ終了すると抜ける)) $cpid = waitpid $_, 0; } exit;
複数のファイルを一気に unlink
2004-04-01-1 / カテゴリ: [programming][perl] / [permlink]
配列・リストを渡す。
もしくは、
もしくは、
unlink </foo/bar/*>
任意のパスのモジュール用に @INC へパスを追加
2004-03-30-1 / カテゴリ: [programming][perl] / [permlink]
use lib "/path/to";変数に格納されたパスはなぜか無効…
use lib "$path"; <= NGまた、require 先で use lib を宣言し、呼出元で use Path::Module; も無効
require 先で use lib -> use Path::Module をまとめてやっておけばよい
変数が無効なのは、use はコンパイル時に読み込まれるため。変数に値が格納さ
れるのは実行時
fork で多重プロセス起動 Solaris 8
2004-03-23-1 / カテゴリ: [programming][perl] / [permlink]
while( ) { if ($pid = fork) { # おや next; } else { # こ (並列処理) exit; } } (子を待たずに処理)
flock によるファイルロック / ロック失敗時は待機せずに終了
2004-03-22-2 / カテゴリ: [programming][perl] / [permlink]
http://www.ichikoro.com/webp/bk/00055.html
http://ns1.php.gr.jp/pipermail/php-users/2004-January/020410.html
http://ns1.php.gr.jp/pipermail/php-users/2004-January/020410.html
{ open(F, "file"); $lock = flock(F, (LOCK_EX | LOCK_NB)); unless ($lock) { print "ロック中!終了します\n"; exit 1;} }こんな感じ
flock によるファイルロック
2004-03-22-1 / カテゴリ: [programming][perl] / [permlink]
use Fcntl qw(:flock);がないと、動かん
SunOS 5.8
と思ったけど、前言撤回
"LOCK_EX"などの文字定数を使う場合は、Fcntlが必要
"2"など定数を直接指定してやれば不要
複数ファイル内の特定文字列を一括置換
2004-03-10-2 / カテゴリ: [perl][command] / [permlink]
$ perl -p -i.bak -e 's/strings/strings-with/g' *
最終更新時間: 2013-05-02 16:12