2013年2月19日火曜日

サブルーチンの引数にファイルハンドルと配列を渡す

サブルーチンにファイルハンドルと配列を渡すには、以下のようにします。


open(my $OUT, ">", $ARGV[0]);

my @array = ('TEST1', 'TEST2', 'TEST3');

&out_array($OUT, @array);

close($OUT);


$ARGV[0]は上記プログラムを起動した時の最初の引数で、出力するファイル名を指定します。
$OUTはファイルハンドルを格納する変数です。
out_arrayはサブルーチン名で、引数に$OUTと配列@arrayを渡しています。

呼び出される側のサブルーチンは以下のようにして引数を取得できます。


sub out_array
{
    my $OUT = $_[0];
    my $item1 = $_[1];
    my $item2 = $_[2];
    my $item3 = $_[3];

    print $OUT "$item1\t$item2\t$item3\n"; # 指定された出力ファイルに"TEST1¥tTEST2¥tTEST3¥nと出力されます。
}





0 件のコメント:

コメントを投稿