需要从变量中的一行中grep一个字符串并将其存储在另一个变量中
Need to grep a string from a line in a variable and store it in another variable
我有一个变量 $abc
,其中包含如下行:
abc.txt -> check a/b/c test
我需要在另一个变量中得到 abc.txt
说 $bcd
和 a/b/c
在变量说 $xyz
中。我有正则表达式可以这样做,但我不知道如何使用 perl 来做到这一点,据我所知,perl grep 和 perl map 只能用于数组,不能用于变量。
my ($bcd) = split(/\s*->\s*/, $abc, 2);
my $bcd = $abc =~ s/\s*->.*//sr;
my ($bcd) = $abc =~ /^(?:(?!\s*->).)*)/s;
my ($bcd) = $abc =~ /^(.*?)\s*->/s;
除最后一个 returns 之外的所有输入字符串,如果没有 ->
。
我有一个变量 $abc
,其中包含如下行:
abc.txt -> check a/b/c test
我需要在另一个变量中得到 abc.txt
说 $bcd
和 a/b/c
在变量说 $xyz
中。我有正则表达式可以这样做,但我不知道如何使用 perl 来做到这一点,据我所知,perl grep 和 perl map 只能用于数组,不能用于变量。
my ($bcd) = split(/\s*->\s*/, $abc, 2);
my $bcd = $abc =~ s/\s*->.*//sr;
my ($bcd) = $abc =~ /^(?:(?!\s*->).)*)/s;
my ($bcd) = $abc =~ /^(.*?)\s*->/s;
除最后一个 returns 之外的所有输入字符串,如果没有 ->
。