ミスティーネットPerl・CGI講座 パール・CGIレッスン MISTY-NETレンタルサーバー・PERLプログラミング講座 CGI&PERL究極のレシピ
| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 |
Perl言語リファレンス

ミスティーネットPerl・CGI講座/基本編
ミスティーネットPerl・CGI講座/基本編
始めに 始めに
変数について 変数について
処理の制御1 処理の制御1
処理の制御2 処理の制御2
配列の処理 配列の処理
ハッシュの処理 ハッシュの処理
数値の扱い 数値の扱い
文字の扱い 文字の扱い
時間の処理 時間の処理
サブルーチン サブルーチン
ファイルの処理 ファイルの処理
ディレクトリの処理 ディレクトリ処理
CGIについて CGIについて
漢字の処理 漢字の処理
    (文字コード)
Cookie の処理 Cookie の処理
正規阜サ1 正規阜サ1
正規阜サ2 正規阜サ2
演算子について 演算子について
ライブラリ ライブラリ
デバッグ デバック
環境変数について 環境変数
ミスティーネットPerl・CGI講座/基本編

ミスティーネットPerl・CGI講座/応用編
ミスティーネットPerl・CGI講座/応用編
カウンターを作ってみよう カウンターを
     作ってみよう!
ミニゲームを作ってみよう ミニゲームを
     作ってみよう!
ミスティーネットPerl・CGI講座/応用編

  HOME >> アルファベットで関数を検索 >> sysread
sysread [データを読み込む]
[関数の使い方・書式]

sysread ,,[,]

(スカラー) ファイルハンドル。
(スカラー) スカラー変数。
(スカラー) 読みこむ長さ(バイト数)。
(スカラー) オフセット(バイト数)。
の変数にセットする位置。マイナス値の場合、その文字列の末尾からの位置。省略時は先頭になる。
(スカラー) 成功時は読みこんだバイト数。EOF(ファイルの終わり) になったら0。エラーの場合は未定義値を返します。


[関数の機能]
ファイルハンドルに結び付けられたファイルなどから、の長さ分のデータを読み込み、 スカラー変数にそれを代入します。 オフセットが指定されたいる場合、変数の指定された位置以降に読みこんだデータをセットします。 スカラーへ数の長さよりもオフセット値の方が大きい場合、その位置まで \0 (ヌル文字) が詰め込まれます。 オフセット値がマイナスで同様の場合は、エラーとなり Offset outside string というメッセージが出力されます。
この関数は read(2) システムコールで実装されています。


[書式の例]
1. sysread(FH, $buffer, $length);
2. sysread(FH, $buffer, $length, $offset);



サンプルソース
● 1文字単位の入力を補足する

use strict;
$| = 1;
for (1..4) {
	my $got;
	print "gimme: ";
	$got = getone();
	print "--> $got\n";
}
exit;

BEGIN {
	use POSIX qw(:termios_h);
	my ($term, $oterm, $echo, $noecho, $fd_stdin);
	$fd_stdin = fileno(STDIN);
	$term = POXIX::Termios->new();
	$term->getattr($fd_stdin);
	$echo = ECHO | ECHOK | ICANON;
	$noecho = $oterm & ~$echo;
	sub cooked {
		$term->setlflag($oterm);
		$term->setcc(VTIME, 0);
		$term->setattr($fd_stdin, TCSANOW);
	}
	sub getone {
		my $key = '';
		$term->setlflag($noecho);
		$term->setcc(VTIME, 1);
		$term->setattr($fd_stdin, TCSANOW);
		sysread(STDIN, $key, 1);
		cooked();
		return $key;
	}
}
END { cooked() }



| HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問い合わせ | ミスティーネット |
(C)Copyright 2002 ミスティーネット Inc. All Right Reserved.