我有一个目录文件,其中包含定义文件测试文件和指令文件的所有路径。 定义文件看起来像
##Definition file
Def 1 : "definition 1"
Def 2 : "definition 2"
Def 3 : "definition 3"
每个指令文件包含
等指令集##Instruction File 1
{
Instruction 1
run Def1
sleep
run def2
}
{
Instruction 2
run Def 3
sleep
run Def1
}
同样具有多个指令集的多个指令文件
Test File looks like
{
run Instruction file1 Instruction 2
sleep 5
}
任何人都可以指导我如何做到这一点。就像如何从指令文件中运行特定指令一样
我可以使用多维数组来执行此操作,例如在多维数组中存储命令,指令文件和指令吗?
答案 0 :(得分:0)
您可以使用散列引用和数组引用。
哈希可以键入目标,然后数组引用可以存储指令数组。
$ref->{'key'} = \@array
打开文件以阅读“<”
open FILE, "<", "filename.txt" or die $!
获取所有内容:
my @lines = <FILE>
从这里开始,只需根据您的说明拆分代码,也许使用正则表达式。
foreach my $line (@lines) {
#do stuff here for the instructions
#maybe a regex
}
然后迭代并处理每一个..
对于您的测试文件问题,您可以以关联方式存储它。
所以你有一组测试文件“命令组”
每个元素可以存储3个关联值的散列
$test[0] = { command => $command , filename => $filename, instruction => $instruction };
从这里您可以访问以下元素:
$test[0]->{command}