おおー!かっこいい!
ハードコアなんだけど、全然聴ける。
ブルックリンのスケーターが集まったバンドで、ヤケクソ気味のエネルギーと荒々しさが魅力。
あのリック・ルービンもお気に入りのバンド。
ライブが凄まじいと評判なのですが、少なくとも映像ありで聴いたほうがいいですね。
おおー!かっこいい!
ハードコアなんだけど、全然聴ける。
ブルックリンのスケーターが集まったバンドで、ヤケクソ気味のエネルギーと荒々しさが魅力。
あのリック・ルービンもお気に入りのバンド。
ライブが凄まじいと評判なのですが、少なくとも映像ありで聴いたほうがいいですね。
2011年9月20日
by リズムファクトリー
0 comments
2011年9月20日
by リズムファクトリー
0 comments
-Xは以下のオプションで、ファイルテストを行うための演算子です。
演算子には以下のものがあります。
| 演算子 | 説明 |
|---|---|
| -r | 読み込み可能 |
| -w | 書き込み可能 |
| -x | 実行可能で |
| -o | 実行者とファイルの所有者が同一 |
| -R | 実uid/gidで読み込み可能 |
| -W | 実uid/gidで書き込み可能 |
| -X | 実uid/gidで実行可能 |
| -O | 実uidとファイルの所有者が同一 |
| -e | ファイルが存在する |
| -z | ファイルサイズが 0 |
| -s | ファイルサイズが 0 以外(大きさを返す) |
| -f | ファイルは通常ファイル |
| -d | ファイルはディレクトリ |
| -l | ファイルはシンボリックリンク |
| -p | ファイルは名前付きパイプ |
| -S | ファイルはソケット |
| -b | ファイルはブロック型の特殊ファイル |
| -c | ファイルはキャラクタ型の特殊ファイル |
| -t | ファイルハンドルが tty としてオープンされている |
| -u | ファイルの setuid ビットがセットされている |
| -g | ファイルの setgif ビットがセットされている |
| -k | ファイルの sticky ビットがセットされている |
| -T | ファイルがテキストファイル |
| -B | ファイルがバイナリファイル |
| -M | perl起動時における、ファイルの更新時刻からの日数 |
| -A | perl起動時における、ファイルの参照時刻からの日数 |
| -C | perl起動時における、ファイルの作成時刻からの日数 |
上記の単項演算子は、ファイル名かファイルハンドルを引数として動作し、"真"であるか否かを判定した結果を返します。引数が省略されると、-tではSTDINを調べますが、その他は$_を調べます。特に記述されていなければ、"真"として 1、"偽"として空文字、ファイルが存在しなければ、未定義値を返します。
$file = "/home/httpd/html/index.html";
# ファイルが存在するか確認
if ( -e $file ){
....
}
ローカルファイルシステムのスーパーユーザには、-r、-R、-w、-Wに対して、常に 1 が返り、モード中のいずれかの実行許可ビットが立っていれば、-x、-Xにも 1 が返ることにも注意してください。スーパーユーザが実行するスクリプトでは、ファイルのモードを調べるためには、statを行なうか、実効uidを一時的に別のものにする必要があるでしょう。
-Tと-Bは、ファイルの最初の数ブロックを調べて、変わった制御コードや上位ビットがセットされているような、通常のテキストには現れない文字を探します。そのような文字が、多く(30%以上) 見つかるようであれば、そのファイルは-Bファイルであると判断され、それほど見つからなければ、-Tファイルとなります。最初のブロックにヌル文字が含まれるファイルも、バイナリファイルとみなされます。-Tや-B
をファイルハンドルに対して用いると、最初のブロックを調べる代わりに、標準入出力バッファを調べます。調べたファイルの中身が何もないときや、ファイルハンドルを調べたときにEOFに達していたときには、-Tも-Bも"真"を返します。
どのファイルテスト (もしくは、statやlstat) 演算子にも、下線だけから成る特別なファイルハンドルを与えると、前回のstat構造体が使われ、システムコールを省きます (-tには使えませんし、lstatや-lは実ファイルではなく、シンボリックリンクの情報をstat構造体に残します)。
print "読み込み可\n" if -r _;
2011年9月20日
by リズムファクトリー
0 comments
指定されたファイルに対して、そのファイルに対応させたフォーマットを使って整形されたレコードを書き出します。
open ( FH, $text ); format FH = @<<<<<<<<<<<<@>>>>>>>>>>> $t1 $2 . $t1 = "You might win some"; $t2 = "but you just lost one"; write FH; close( FH );
ページの先頭の処理は、自動的に行なわれます。現在のページに整形されたレコードを出力するだけのスペースがない場合には、改ページを行なってページを進め、新しいページヘッダを整形するため、ページ先頭フォーマットが使われ、その後でレコードが書かれます。デフォルトでは、ページ先頭フォーマットは、ファイルハンドルの名前に_TOPをつなげたものですが、ファイルハンドルが選択されている間に、変数$^に名前を設定すれば、動的にフォーマットを変更することができます。 そのページの残り行数は、変数$-に入っており、この変数を 0 に設定することで、強制的に改ページを行なうことができます。
FILEHANDLEを指定しないと、出力はその時点のデフォルト出力チャネルに対して行なわれます。これは、スクリプトの開始時点ではSTDOUTですが、selectで変更することができます。FILEHANDLEがEXPRならば、式が評価され、その結果の文字列が実行時にFILEHANDLEの名前として見られます。
2011年9月20日
by リズムファクトリー
0 comments
2011年9月20日
by リズムファクトリー
0 comments
wantarrayは、リストコンテキストあれば"真"、スカラコンテキストであれば"偽"を返します。
sub ...{
...
return wantarray ? @array : $array[0];
}
2011年9月20日
by リズムファクトリー
0 comments
特定のチャイルドプロセスが終了するのを待ち、消滅したプロセスのpidを返します。指定したチャイルドプロセスが存在しないときには、-1 を返します。ステータスは$?に返されます。
use POSIX "wait_h"; ... waitpid(-1,&WNOHANG);
上記のようにすると、ブロックが起こらないようにして、任意のプロセスをwaitします。ブロックなしのwaitは、システムコールwait_pidか、システムコールwaitをサポートしているマシンでのみ利用可能です。しかしながら、特定のpidを 0 のFLAGSでのwaitはどこでも実装されています。(exitしたプロセスのステータス値を覚えておいて、Perlがシステムコールをエミュレートしますが、Perlスクリプトには取り入れられていません。)
2011年9月20日
by リズムファクトリー
0 comments
wait(2)システムコールと同様に振る舞います。チャイルドプロセスが終了するのを待ち、消滅したプロセスのpidを返します。チャイルドプロセスが存在しないときには、-1 を返します。ステータスは$?に返されます。返り値が -1 の場合は子プロセスが自動的に回収された可能性があります。
2011年9月20日
by リズムファクトリー
0 comments
文字列EXPRを符号なしintのベクタとして扱い、引数OFFSETとBITSで指定されるビットフィールドの値を返します。左辺値として、代入の対象にすることもできます。BITは、1 から 32 までの 2 のべきを値として使うことができます (1, 2, 4, 8, 16, 32)。
vecで作られたベクターは、論理演算子|、&、^で扱うこともできます。これらの演算子は、両方の被演算子に文字列を使うと、ビットベクター演算を行ないます。
ビットベクターを、0 と 1 の文字列や配列に変換するには次のようにします。
$bits = unpack("b*", $vector);
@bits = split(//, unpack("b*", $vector));
ビット長が分かっていれば、* の代わりにその長さを使うことができます。
waitチャイルドプロセスが終了するのを待ち、消滅したプロセスのpidを返します。チャイルドプロセスが存在しないときには、-1 を返します。ステータスは$?に返されます。
2011年9月20日
by リズムファクトリー
0 comments
ハッシュASSOC_ARRAYのvalueを返します。
%hash = ('Akai', 27, 'Ishikawa', 30);
# スカラコンテキストでは値の個数を返す
print $key = values %hash, "\n";
> 2
foreach $value ( values %hash ) {
print $value, "\n";
}
> 30
> 27