perlipc - Perl interprocess communication (signals, fifos, pipes, safe subprocesses, sockets, and semaphores) The basic IPC facilities of Perl are built out of the good old Unix signals, named pipes, pipe opens, the Berkeley socket routines, and SysV IPC calls. Each is used in slightly different situations. Perl uses a simple signal handling model: the %SIG hash contains names or references of use
open FILEHANDLE,MODE,EXPR open FILEHANDLE,MODE,EXPR,LIST open FILEHANDLE,MODE,REFERENCE open FILEHANDLE,EXPR open FILEHANDLE Associates an internal FILEHANDLE with the external file specified by EXPR. That filehandle will subsequently allow you to perform I/O operations on that file, such as reading from it or writing to it.
`used only once' 警告を消す 設定変数だけを別ファイルに分けることは多いはず。しかし、その場合、 warnings を有効にすると、`used only once, possible typo' (この変数は一度しか使われていないぞ。ミススペルじゃないのか?) という警告が出ることが多い。これを防ぐには、本体スクリプトの冒頭で、 #!/usr/bin/perl use warnings; no warnings qw(once); 出力バッファリングを一時的に無効化する 或るファイルハンドルに対してのみ出力バッファリング (output buffering) を無効にするには、そのファイルハンドルを select() してオートフラッシュ変数 $| を 1 に設定する。select() を再び元の状態に戻しておくのを忘れてはならないが、ひとつの複合 select文で一息に行
In last month's article, we saw how the Linux input subsystem worked inside the kernel, ending with a quick mention of the event handlers. Each handler essentially provides a different user-space API, converting input events into the particular format that makes up that API. One of the key aspects of the input subsystem integration into Linux is the availability of the event interface. This basica
こんにちは。[/articles/advent-calendar/2010/casual/3:title=casual track 3日目]でも書かせていただきました、sugyanです。記号プログラミングはPerlくらいしかわからない素人ですが頑張って書いてみようと思います。よろしくおねがいします。 今日はPerlで記号プログラミングをするための基礎知識を説明します。Acme::EyeDropsでも使われているテクニックです。 ■Step1. アルファベットの変換 記号だけでPerlプログラムを書きたい! というとき、最も邪魔なのがアルファベットですね。まずはこれらをどうにかして記号だけで表現しましょう。 Perlの文字列は2つの文字列の論理演算で表現することができます。例えば 'A' という文字はASCIIコード0x41ですね。これをASCIIコード0x60の '`' と0x21の '!
プログラムを記述する際に、覚え書きという位置づけ等で、(プログラムには解釈されない形で)メモ情報を残しておきたいことがあります。 それを「コメント」と呼びます。 Perlでは、シャープ ( # ) から行末までを「コメント」として扱われ、プログラムの実行上無視されます。これを「コメントアウト」といいます。 $data = 'I am a boy'; # データを記述 print "$data\n"; 上記のコードの場合、3行目がすべてコメントとして扱われます。 コメントは、文の途中に記述しても構いません。その場合は、# から、行末までがコメントになります。 $date = 'I am a boy'; print "$data\n"; # データを記述 また、応用的な記述方法として、複数行をコメントアウトする場合には、次のように =pod から =cut を記述することで、その範囲がすべてコ
Perlを学び始めて1週間強といったところで、Perlは本当に驚く書き方が多い。 #!/usr/bin/perl use strict; use warnings; my $logdir = "./log"; #読み込む該当フォルダ名 opendir(DIR, $logdir); my @FILES = readdir(DIR); closedir(DIR); print @FILES; しかし、opendir関数を使うことはナンセンスらしい。 しかも隠れファイル(.とか)まで余分に読み込んでしまう。 この記事を読んで試してみた。 スリムに書くと下記の通り。 #!/usr/bin/perl use strict; use warnings; while(<./log/*>){ print $_."\n"; } 簡潔にできてしまう。 $_を省略したものでもおk。 #!/usr/bin/per
指定された引数を format に基づいて バイナリ文字列にパックします。 この関数のアイデアは Perl からのものであり、フォーマット指定用の コードは Perl と同様に動作します。しかし、中には存在しない書式コードもあります。 たとえば Perl の "u" は存在しません。 符号付及び符号無しの区別は関数 unpack() にのみ 影響を与えます。関数 pack() は符号付及び符号無しの フォーマットコードのどちらでも同じ結果となることに注意しましょう。 パラメータ format フォーマット文字列は、 フォーマットコードの後にオプションの反復指定用引数が続く形式と なっています。反復指定用引数として整数値、または入力データの最後まで 反復を意味する * のどちらかを指定することができます。 a, A, h, H の場合、 反復数はそのデータ引数が取得する文字の数を指定します。
Perl has two simple, built-in ways to open files: the shell way for convenience, and the C way for precision. The shell way also has 2- and 3-argument forms, which have different semantics for handling the filename. The choice is yours. Perl には、ファイルを開くための 2 つの単純な組み込みの手段があります: 利便性のためのシェル風の方法と、正確性のための C 風の方法です。 シェル風の方法には 2 引数と 3 引数があり、ファイル名の扱いに関して 異なった動作をします。 選択はあなた次第です。 シェル風に開く¶ Perl's open functio
説明 指定したコマンドを実行して,標準出力に出力された結果を返します。 呼び出したコマンドのステータス・コードは$?で取得することができます。$?にはステータス・コードを256倍した値が入っていますので,例えば,ステータス・コード1で終了した場合,$?は256になります。 使用例 #!/usr/bin/perl use strict; use warnings; # 実行するコマンド my $command = 'netstat'; # コマンドを実行 my $ret = qx/$command/; if ($?) { # ステータスコードが0以外 print "Error.\n"; print "$command:$?", "\n"; } else { # 実行結果を出力する print $ret, "\n"; }
Perlのモジュールがインストールされているかを調べる方法の中でも初心者向けのものを書き残しておきます。 Perlでスクリプトを書いているとよく自分が使おうとしているモジュールがインストールされているのか調べたくなる時がやってきます。 僕の知人にも最近Perlを使い始めた人が居まして、彼から今日まさにこのことについて質問されたので、彼がまた同じことを聞いてきた時に・或いは彼以外の人間がPerlを使い始めた時に答えやすいようにここに記録を残しておきたいと思います。 さて、本題に入りましょう。Perlのモジュールがインストールされているか調べる方法は幾つかありますが、ここでは2つ挙げておきます。 忙しい人向け インストールされているモジュールの.pmファイルのパスを調べたい人向け この2つですね。他にも色々と手はありますが、まあ初心者向けの比較的簡単な手ということでひとつ。そうそう、今回の方法
Perl から INIファイルを利用しようとした場合、以前は Config::INI::Simple ってモジュールを使ってたんですが、今 CPAN を検索したら無くなってるじゃないですか・・・orz ActivePerl(v5.8.8) の PPM にはまだ入ってましたが、CPAN から消えた(理由はともかく)モジュールをわざわざ探してきて使うのもどうよ?と思うわけで、別のモジュールを探してみました。 それで見つけたのが Config::Tiny というモジュールです。ファイルの読み込みはもちろん、書き出しもできるし、INIファイル内の余分な空白も上手に省いてくれるみたいでいい感じです。 また、通常の INIファイルだと ; で始まる行。もしくは、行の ; 以降がコメント扱いなんだそうですが、Config::Tiny は ; に加えて # もコメントの開始として認識してくれます。 ちなみ
2005-06-15 URLエンコードされた日本語文字列のデコード <お急ぎの方は後半の「まとめ」をご覧ください> 概要 Perl5.8のEncodeモジュールを使って,URLエンコードされた日本語文字列をデコードする方法をお話します。 <対象> HTTPのGET要求に含まれるURLエンコーディングをデコードしたい人 サーチエンジンの検索文字列をデコードしたい人 あらまし 最初にバージョン5.8より古いPerlのお話です。URLエンコードされた日本語文字列をデコードするにはどうしたらよいのでしょうか。私が調べたいくつかの書籍では, $str =~ tr/+/ /; $str =~ s/%([a-fA-F0-9]{2})/pack( 'C', hex($1) )/eg ; というコードで最後に文字コードを合わせればよい,なんて記述をよく見かけました。文字コードの変換にはJcode.plがよ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く