首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl -将散列转换为数组,而不使用其他变量

Perl -将散列转换为数组,而不使用其他变量
EN

Stack Overflow用户
提问于 2013-01-13 20:23:16
回答 1查看 1.2K关注 0票数 0

是否可以将散列转换为perl中的数组,但不使用其他变量?这按预期工作,但使用了另一个变量(@arr):

代码语言:javascript
复制
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); @arr=%hash; print "@arr"'

我已经尝试过了,但都不起作用(顺便说一句,它们是做什么的?):

代码语言:javascript
复制
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print "@hash"'
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print "%@hash"'
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print "@%hash"'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-13 20:49:38

代码语言:javascript
复制
perl -wlae '%hash=(name=>"linus", forename=>"torvalds "); print (%hash);'

将表达式放在圆括号中会在列表上下文中计算它,就像赋值给列表变量一样。

print的情况下,这种转换是不必要的,因为它对数组和散列都使用列表上下文。但是如果你想用散列做其他数组风格的事情,你可以这样做,例如

代码语言:javascript
复制
$first = (%hash)[0];
echo $first;
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14303389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档