免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6138 | 回复: 26
打印 上一主题 下一主题

请教split函数的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-24 15:44 |只看该作者 |倒序浏览
($number,mail)=(split(/\s+/,$_))[1,2], 后面的[1,2]是什么意思,做什么用的,

刚学习perl,有很多细小的东西不是很明白,还希望高手指教。谢谢

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
2 [报告]
发表于 2008-12-24 15:51 |只看该作者
原帖由 jun821 于 2008-12-24 15:44 发表
($number,mail)=(split(/\s+/,$_))[1,2], 后面的[1,2]是什么意思,做什么用的,

刚学习perl,有很多细小的东西不是很明白,还希望高手指教。谢谢

列表片段.
(split(/\s+/,$_))[1,2] 取split返回的列表的第2和第3个元素

论坛徽章:
0
3 [报告]
发表于 2008-12-24 15:52 |只看该作者
3Q,很感谢!

论坛徽章:
0
4 [报告]
发表于 2008-12-24 16:05 |只看该作者
while{<FH>}{
chomp;
($number,mail)=(split(/\s+/,$_))[1,2];
$Phone{$number}=$_;
$Email{$mail}=$_;
}

想知道$Phone{$number}=$_;或$Email{$mail}=$_;是怎么样赋值的,$_是怎么取值的?

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
5 [报告]
发表于 2008-12-24 16:17 |只看该作者
原帖由 jun821 于 2008-12-24 16:05 发表
while{}{
chomp;
($number,mail)=(split(/\s+/,$_))[1,2];
$Phone{$number}=$_;
$Email{$mail}=$_;
}

想知道$Phone{$number}=$_;或$Email{$mail}=$_;是怎么样赋值的,$_是怎么取值的?

赋值语句在while循环内。$_默认是读入的一行(去掉了换行符)

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
6 [报告]
发表于 2008-12-24 16:17 |只看该作者
原帖由 jun821 于 2008-12-24 16:05 发表
while{}{
chomp;
($number,mail)=(split(/\s+/,$_))[1,2];
$Phone{$number}=$_;
$Email{$mail}=$_;
}

想知道$Phone{$number}=$_;或$Email{$mail}=$_;是怎么样赋值的,$_是怎么取值的?

是while{<FH>} ?花括号?

论坛徽章:
0
7 [报告]
发表于 2008-12-24 16:28 |只看该作者
打错了,是()小括号,这到没有什么,最重要的是,我知道while取一行的值放在$_中,但是就是不明白,$_的值是怎么赋给$Phone{$number}等的

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
8 [报告]
发表于 2008-12-24 16:36 |只看该作者
原帖由 jun821 于 2008-12-24 16:28 发表
打错了,是()小括号,这到没有什么,最重要的是,我知道while取一行的值放在$_中,但是就是不明白,$_的值是怎么赋给$Phone{$number}等的

$Phone{$number}=$_;是给散列%Phone中键值为$number的元素赋值。(跟给一个标量赋值时一样)

$Email{$mail}=$_;同理

论坛徽章:
0
9 [报告]
发表于 2008-12-24 16:39 |只看该作者
恩,是的,但是$_的值应该是while读取FH中一行的值,而不是一个字符串。

论坛徽章:
0
10 [报告]
发表于 2008-12-24 16:44 |只看该作者
也许是我表达的不是很好,你不明白吧,换句话说就是$Phone{$number}等于什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP