问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何理解Perl语言中的Glob

发布网友 发布时间:2022-12-10 07:28

我来回答

1个回答

热心网友 时间:2023-11-04 09:20

本文假设你对Perl引用已经有所了解。 关于Perl glob,笔者建议阅读《Advanced Perl Programming》第一版的第三章和第二版的第一章。本文是笔者经过阅读以上内容并经过一些实践后完成的。 我们都知道Perl的引用类似C语言的指针。 C指针:
my $a = 3; my $ra = \$a; 引用都可以简单地看成是存储了变量的地址: $a$ra3变量$a的地址在各种语言里,都有符号表(Symbol Table)的概念。符号表存储着各种作用域里的符号(Symbol)。这里说的Symbol是指我们编程时用到的各种名称,包括变量名、函数名等。比如上面的“a”、“pa”、“ra”等都是symbol。看下面的代码: my $a = "sdd"; my $b = 34; my @b = (2,3); my %b = (name => 'me', age => 28); sub b { print "hello\n"; } 产生的符号表: ......symbol a变量$a的地址......symbol b$b的地址@b的地址%b的地址函数b的地址......可以看到symbol b里存放了好几个变量和函数的引用。在Perl里,symbol也可以被叫做glob。symbol b和symbal a可以分别用*b和*a表示。 glob的一个基本应用是alias(别名): $a = 10; *b = *a; print $b . "\n"; $b = 20; print $a . "\n"; 运行结果: 10 20 符号表: ......*a\$a......*b\$a......通过将引用赋给glob可以实现部分别名: $a = 6; @a = (1,2); @b = (5,6); print $a . "\n"; *b = \$a; $b = 7; print $a . "\n"; 输出: 6 7 符号表: ......*a\$a\@a......*b\$a\@b......可以看到,只是标量一样了,数组还是各自的。 还可以用于参数传递: sub change { *b = shift; $b = "cc"; } $a = "tt"; print $a . "\n"; change(*a); print $a . "\n"; 运行结果: tt cc 据说通过glob传递参数要比传引用快很多。 不同的作用域有不同的符号表:函数拥有自己的符号表,各个包也有自己的符号表。注意!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
诺基亚5233直签工具 我的5233下了证书、也在塞班官网上在线签名了、怎么还是提示证实书错误... 你好 就是我用的诺基亚5233直签工具就是用不了什么受证书限制内部错误... 请问哪里有做餐用包装纸巾的.厂 怎么在餐巾纸上或者纸巾包装上打广告? 广告餐巾纸广告餐巾纸的分类 广告餐巾纸广告餐巾纸的制作形式 ...支付密码一样呢?支付密码和银行卡的关系是什么?求解答, ...今天是怎么了,换了数据线也不行,同事的M1也一样不能充电... 小米M1和小米青春版就是CPU和内存不一样,我是学生,买哪一个比较好? 成都奥森互动企业营销策划有限公司怎么样? 成都优益家企业营销策划有限公司怎么样? 成都千思堂企业营销策划有限公司怎么样? 优秀舍长主要事迹 宿舍管理主任先进事迹材料:让学生有一个温暖的“家” 幼儿园家长评语大班上学期 幼儿园大班评语简短真实第一学期 怎样拓展自己的英语词汇量 想要拓展英语词汇量 对男生的表白情话大全经典爱情语录(29句) 对大哥表白的一段话? 对大哥表白的一段话 魏大叔,盘大妈是哪部电影 奔驰V级2020款自动挡落地价是多少钱? 奔驰V级2020款7座落地价是多少钱?奔驰V级购车价 奔驰V级自动挡落地多少钱? 奔驰V级2020款自动挡落地要多少钱? 奔驰V级2020款自动挡最低多少钱? 奔驰V级2.0L落地多少钱? 奔驰V级2020款多少钱能落地? perl glob 使用问题 glob in Perl perl glob 匹配大小写问题 perl中,关于多个文本内容替换 贾生请从写作手法的角度入手,试分析这首歌表现了诗人怎样的思想感情 3Dsmax9的序列号666-12345678它的激活码是多少 3dmax 序列号 666-12345678 法拉利ENZO多少钱? 在学校生活的感受作文 请问遗嘱的形式有哪几种 《都市之无限重生系统》txt下载在线阅读全文,求百度网盘云资源_百度知 ... 最后的搬山道人该在什么之后看 搬山道人都是女子吗 求。好点的盗墓小说。〈搬山道人〉《大漠苍狼》《天崩之前》《藏地... 搬山道人小说 求《搬山道人》盗墓小说TXT全集。 求小说《搬山道人》 数学学练优五年级第50页第二大题的第二小题的第一问怎么做 小学五年级数学上册学练优第三单元第三课时的第六题怎么作? 小学数学学练优 五年级17面第四题怎么做