搜索文件中的字符串并在perl

时间:2016-05-12 05:04:19

标签: perl csv

qa1 /apps/dir1 qavm01,qavm02,qavm03
qa2 /apps/dir2 qavm01,qavm02,qavm03
qa3 /apps/dir3 qavm01,qavm02,qavm03
cpz /apps/cpz1 ctg201,ctg202

我有一个上面的文件。

  1. 我想找到与qa1匹配的行。每次都会更改,具体取决于用户输入的内容。我有一个HTML前端来提供价值。我想在一个数组中使用CSV模式,以便我可以将它用于下一步操作。

  2. 使用循环我需要连接到每个服务器(文件中的CSV模式是服务器列表)并访问该目录。

  3. 我是Perl的新手。我可以做第二个。但我不确定如何做第一部分。

1 个答案:

答案 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;
    }
}