2016-01-01から1年間の記事一覧
Perl › 言語実装 › here opnames.hには、オペレーションコードが記述されています。 /* opname.h */ typedef enum opcode { OP_NULL = 0, OP_STUB = 1, OP_SCALAR = 2, OP_PUSHMARK = 3, OP_WANTARRAY = 4, OP_CONST = 5, OP_GVSV = 6, ... }; Perlは、構文…
Perl › 言語実装 › here embedvar.hは、インタープリタ変数、グローバル変数の抽象化のためのヘッダです。 インタープリタ変数の抽象化 インタープリタ変数の抽象化のロジックは以下のようになっています。 #if defined(MULTIPLICITY) /* cases 2 and 3 abov…
Perl › 言語実装 › here perlvars.hには、Perlのグローバル変数が定義されています。 /* perlvars.h */ /* global state */ #if defined(USE_ITHREADS) PERLVAR(G, op_mutex, perl_mutex) /* Mutex for op refcounting */ #endif PERLVARI(G, curinterp, Per…
Perl › 言語実装 › here interpvar.hには、インタープリタ変数の定義が記述されています。インタープリタ変数とは、Perlのインタープリタごとに、定義される変数のことです。 インタープリタとは Perlは、複数のインタープリタを持つことができます。Perlは…
Perl › 関数 › here ファイルディスクリプタを取得には、fileno関数を使用します。引数には、開かれているファイルハンドルを指定します。 $ret = fileno $fh; ファイルディスクリプタとは、ファイルや標準入出力などをOSが識別するために用いる識別子のこと…
Perl › 関数 › here ファイルハンドルを閉じるにはclose関数を使用します。 close $fh; もう少し詳しく書くと、close関数が呼ばれると、現在のバッファがフラッシュされて、その後にファイルハンドルが閉じられます。 close関数でファイルハンドルを閉じる必…
Perl › here Perlのリリース記事をこちらにまとめておきます。Perlのバージョン間の変更点などを把握するのにお役立てください。Perl 5.8.7で動くように記述しておくと、ほぼすべての環境で実行できます。 Perl 5.28 Perl 5.28リリース - Unicode 10.0サポー…
.bread { padding:0; margin:0; } .bread li { display:inline-block; list-style-type:none; font-size:14px; } .bread a { padding:3px 5px; width:100%; background:#3cb371; color:white; border-radius:3px; text-decoration:none; } .bread a:hover { …