qa1 /apps/dir1 qavm01,qavm02,qavm03
qa2 /apps/dir2 qavm01,qavm02,qavm03
qa3 /apps/dir3 qavm01,qavm02,qavm03
cpz /apps/cpz1 ctg201,ctg202
我有一个上面的文件。
我想找到与qa1
匹配的行。每次都会更改,具体取决于用户输入的内容。我有一个HTML前端来提供价值。我想在一个数组中使用CSV模式,以便我可以将它用于下一步操作。
使用循环我需要连接到每个服务器(文件中的CSV模式是服务器列表)并访问该目录。
我是Perl的新手。我可以做第二个。但我不确定如何做第一部分。
答案 0 :(得分:0)
这应该适合作为基本框架
请注意,您可以将获取环境名称的部分写入$input
变量以及与服务器的连接
use strict;
use warnings 'all';
use constant ENV_FILE => 'env_data.txt';
my $input = 'qa1';
open my $fh, '<', ENV_FILE
or die sprintf qq{Unable to open "%s" for input: $!}, ENV_FILE;
LINE:
while ( <$fh> ) {
next unless /\S/;
my ($env, $dir, $servers) = split;
next unless $env eq $input;
for my $server ( split /,/, $servers ) {
## Connect to $server and access $dir
last LINE;
}
}