需要从变量中的一行中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$bcda/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 之外的所有输入字符串,如果没有 ->