Ruby中是否存在与String.scan等效的Perl?

klo*_*ner 4 regex perl

我想在Perl中这样做:

>> "foo bar baz".scan /(\w+)/
=> [["foo"], ["bar"], ["baz"]]
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Bra*_*ert 12

这基本上是一回事.

my @elem = "foo bar baz" =~ /(\w+)/g
Run Code Online (Sandbox Code Playgroud)

您还可以设置"默认标量"变量$_.

$_ = "foo bar baz";
my @elem = /(\w+)/g;
Run Code Online (Sandbox Code Playgroud)

有关perldoc perlre更多信息,请参阅


如果您只想将该字符串用作数组,则可以使用qw().

my @elem = qw"foo bar baz";
Run Code Online (Sandbox Code Playgroud)

请参阅perldoc perlop(报价和报价操作员).

  • 恕我直言,显式赋值给`$ _`只是为了使用Perl的*隐含的*`$ _`成语之一笨拙地错过了那个惯用的速记. (7认同)