POSIX(3)                 USER COMMANDS                   POSIX(3)



NAME
     POSIX - IEEE 1003.1 名前空間への Perl インタフェース

SYNOPSIS
         use POSIX;
         use POSIX 'strftime';


DESCRIPTION
     POSIX モジュールは、すべての (あるいは、ほとんどすべての) 標
     準 POSIX 1003.1 識別子へのアクセスを許可するものです。 C で
     EINTR や O_NDELAY のように #define となっているものは、自動
     的に使用している名前空間にエクスポートされます。 すべての関
     数が、明示的に要求したときにだけエクスポートされるようになっ
     ています。 完全に修飾した形式の関数名を使う方が多いでしょう。

     利用可能なすべての識別子のリスト (とそれらの意味) を得るには、
     1.003.1 の仕様書を入手するか、POSIX.pm モジュールをご覧くだ
     さい。

EXAMPLES
         printf "EENTR is %d\n", EINTR;

         POSIX::setsid(0);

         $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
             # 注意: ファイルハンドルではなく、ファイル記述子


NOTE
     POSIX モジュールは、おそらく、標準配布として提供される Perl
     モジュールでは、最も複雑なものでしょう。 これは、Perl と C
     両方のコードの自動ロード、名前空間アクセス、動的ロードと組み
     合わせられます。 知識の宝庫です。

CAVEATS
     C 依存のいくつかの関数はインプリメントされていません。 そう
     いった関数を呼ぼうとすると、インプリメントされていないことと、
     もしあれば、Perl の同等のものを示すメッセージを表示します。
     たとえば、setjmp() を呼ぼうとすると、"setjmp() is C-specific:
     use eval {} instead" というメッセージが出ることになります。

     さらに、悪徳ベンダが 1003.1 準拠を謳っていても、実際そうでな
     いことがあります。 それらは、PCTS (POSIX 準拠性テスト) をパ
     スしません。 たとえば、あるベンダのものは、EDEADLK を定義し
     ていなかったり、open(2) で設定される errno の意味が正しくな
     かったりします。 Perl では、POSIX の準拠性は確認しません。
     つまり、正常に "use POSIX" が行なえたとしても、プログラムを
     実行していくうちに、ベンダの手抜きが明らかになって、ICANON
     マクロがまったく使えないということにもなります。 これは、や
     はりバグでしょう。




Perl module manpages Last change: Release 5.0 Patchlevel 00     1