home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

Perl/codepiece/環境確認スクリプト

作成日: 2010-07-26 13:38:59   /   last updated at: 2010-07-26 13:41:05
カテゴリ: Perl 

コマンドラインから直接実行されるのではなく、別のデーモンやプロセスから実行されるPerlスクリプトの実行環境確認用スクリプト。

iam.pl:

#!/bin/env perl
 
use strict;
use warnings;
use Cwd;
 
open my $fh, ">>", "/tmp/iam.log" or die "Can't create logfile: $!";
 
print $fh ">>> [", scalar localtime, "] <<<\n";
print $fh ">>> CWD = [", Cwd::getcwd, "] <<<\n";
print $fh ">>> uid/euid = [$</$>] <<<\n";
print $fh ">>> gid/egid = [$(/$)] <<<\n";
print $fh ">>> \@ARGV =\n";
foreach my $p (@ARGV) {
        print $fh $p, "\n";
}
print $fh "<<<\n";
print $fh ">>> \@INC =\n";
foreach my $p (@INC) {
        print $fh $p, "\n";
}
print $fh "<<<\n";
print $fh ">>> \%ENV =\n";
foreach my $k (sort(keys(%ENV))) {
        print $fh "\%ENV{$k} = [", $ENV{$k}, "]\n";
}
print $fh "<<<\n";
print $fh ">>> STDIN\n";
while (<STDIN>) {
        print $fh $_;
}
print $fh "<<<\n";
print $fh "\n";
 
close $fh;

メールサーバのlocal配信から起動されることを意識し、標準入力もダンプしているが、状況に応じてコメントアウトしてしまってもよい。


original url: https://www.glamenv-septzen.net/view/724