我有用于生成的 Perl 代码存储在两个单独的.txt
文件中,我想在测试我的模块时执行这些文件,但我似乎无法将它们读入测试。
我试过使用内置的文件阅读器:open FILE, 'file.txt'
,
storable
:可存储文件retrieve('file')
在哪里file
和File::Slurp
:read_file('file.txt')
。
这些都不能在测试文件(.t
格式)中工作,但它们确实在.pl
同一目录中的普通文件中工作我怎样才能让它在测试中工作?我会使用该__DATA__
选项,但我有两个文件,它们已经是哈希格式,所以可以直接读取。
编辑:我的代码 -
use Data::Dumper;
use File::Slurp;
my $table1 = read_file('tab1.txt');
my $table2 = read_file('tab2.txt');
print Dumper($table1);
print Dumper($table2);
我在测试文件中的输出:
$VAR1 = '';
$VAR1 = '';
和test.pl
文件$VAR1
中$VAR2
的内容完全一样,正如我所期望的那样。
编辑2:
忘记文件中有散列,没关系,我尝试读取test.txt
我用随机字符串制作的文件,结果如下:
$VAR1 = 'Testing commit - part 12';
这似乎表明它正在读取位于不同位置的文件,因此找不到我的文件。我尝试将目录包括在内,lib
但没有奏效。