サブルーチン

全キャラクターのユーザーデータを配列としてリスト化するサブルーチン。
予め sub get_file の実行が必要。

ソースコードの解説

sub list_in {
	return if $listinflag;

一度でも実行していた場合、サブルーチンを実行せず終了する。

	foreach $no (0 .. $#usrfile) {

sub get_file にて @usrfile にユーザーデータのファイル名が配列として格納されるので、それを評価してゆくループブロック。
$no には順にユーザーデータのファイル名が代入される。

		open(IN,"$usrdir$usrfile[$no]") || &error("Can't open $usrfile[$no]");

open関数 でユーザーデータファイル($no)を入力モードでオープンし、ファイルハンドル IN に結び付ける。
ファイルオープンに失敗した場合 sub error を実行し、エラーメッセージをHTMLに出力する。

		$line = <IN>;
		close(IN);

オープンしたユーザーデータの1行目を $line に代入し、ファイルハンドルをクローズする。

		push(@lstlines,$line);
	}

$line を順に配列の要素として @lstlines へ追加してゆく。

	$listinflag = 1;
}

サブルーチンを実行した場合、処理の最後で $listinflag を真にする。
この変数が真である限り、このサブルーチンは実行されない。

キーワード解説

open関数

get_user 参照

< >入力演算子

get_user 参照

push関数

  • push ARRAY, LIST
    • ARRAY … 元となる配列。
    • LIST … 追加する要素。

ARRAYの末尾にLISTを追加し、追加後の配列を返す。

関連項目

コメント

コメントはありません。 Comments/リファレンスマニュアル/サブルーチン/list_in?

お名前:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-30 (水) 01:29:05 (53d)