日曜日, 2月 22, 2009

Perl学習中 ファイルハンドルをサブルーチンに渡す

ファイルハンドルをサブルーチンに渡す一連の流れ。他の書き方も出来るのだろうけど、今の知識で理解出来るのはこの書き方だけ。

Perlのコードはこんな感じ。test.plという名前で保存。バージョンは5.10。
use strict;
use warnings;

use IO::File;

my $file = IO::File->new();
$file->open( 'data', 'r' ) or die $!;
my @hoged = hoge($file);
print $hoged[0];
print $hoged[3];

sub hoge {
my $file = shift;

my @lines = ();
while (<$file>) {
push(@lines, $_);
}
return @lines;
}

dataの中身はこんな感じ。
data1
data2
data3
data4

で、実行

$perl test.pl
data1
data4


書き方は分かったけど、これのテストの書き方が分からない。
擬似ファイルを作るか、Mockを作ればいいんだろうけど。
眠いので寝る。

0 件のコメント: