如何将字符串拆分为带有undef值的哈希键?

cr8*_*ith 3 perl

这是我的字符串:
NANA TEKA KAOE FLASK LSKK

如何制作它看起来像这样:
HASH = {NANA => undef, TEKA => undef, KAOE => undef, ...

当然,我总是先把它分成一个数组
然后循环遍历每个值,然后将它们分配为哈希
键...但是如果有更短/更简单的方法呢?

提前致谢!

jzi*_*ila 7

您可以拆分字符串并使用映射生成输出哈希.

my $string = "NANA TEKA KAOE FLASK LSKK";
my %hash = map { $_ => undef } split(/\s/, $string);
Run Code Online (Sandbox Code Playgroud)


Dav*_*idO 6

@hash{ split /\s+/, $string } = ();