我试图抓住字符串中的每个单词,可以用不同数量的空格分隔.
my $ff = "Disk  DSM     Policy  Paths   Serials";
if($ff =~ m/(\w+)/) {
    print $1;
    print $2;
    print $3;
}
我认为它会像\ w一样简单,但它只能得到第一个字?难道我做错了什么?
你需要与globally 匹配.
my $ff = "Disk  DSM     Policy  Paths   Serials";
my (@words_match) = $ff =~ /(\w+)/g;
# (
#     'Disk',
#     'DSM',
#     'Policy',
#     'Paths',
#     'Serials'
# )
更好的解决方案是拆分.
my @words_split = split ' ', $ff;
# (
#     'Disk',
#     'DSM',
#     'Policy',
#     'Paths',
#     'Serials'
# )