我不太清楚为什么,但我不断收到以下语法错误:near ") :"
my %temp = map { /(\S+)\:x\:(\S+)\:(\S+)/ ? ($1 => $2) : ();
($1.'members' => $3) : ()
} @output;
理想情况下,我想要做的是将$1 to $2
,然后$1.'members'
分配给$ 3。对我来说似乎没问题,但我无法弄清楚问题是什么。
非常感谢任何帮助!
答案 0 :(得分:4)
暂时忘掉map
,看看这段代码:
/(\S+)\:x\:(\S+)\:(\S+)/ ? ($1 => $2) : ();
($1.'members' => $3) : ();
这是什么意思?这一行特别是语法错误:
($1.'members' => $3) : ();
我想你想要:
/(\S+)\:x\:(\S+)\:(\S+)/
? ($1 => $2, $1.'members' => $3)
: ();
添加回map
:
my %temp = map {
/(\S+)\:x\:(\S+)\:(\S+)/
? ($1 => $2, $1.'members' => $3)
: ();
} @output;