博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Perl 中的特殊变量 $&, $`,$' ,@_
阅读量:2338 次
发布时间:2019-05-10

本文共 614 字,大约阅读时间需要 2 分钟。

Perl 中的特殊变量 $
&,
 $`
,
$
'
 用在模式匹配中
$&  用来存放匹配中的值
$`   用来存放匹配中之前所有字符
$
'
   用来存放匹配中之后所有字符
如:
#
!/usr/bin/perl -w
if
(
"
Hello good  there,neigbor hello
"
 
=~
 
/
S(
w
+
)
,/
)
{
        
print
 
"
That actually matched '$&'.
"
;
        
print
 $`
.
"
"
;
        
print
 $
'
." ";
}
执行的结果为:
That actually matched 
'
there
,
'
.
Hello good  
neigbor hello
----------------------------------------------
另外常用的变量@_
@_是子程序的一个私有变量◆;如果有一个全局变量@_,它将在此子程序调用前存储起来,当子程序调用完成后,其早期的值会被重新赋还给@_◆。这意味着当将参数传递给子程序时不用担心它会影响此程序中其它子程序的@_这个变量的值。嵌套的子程序调用时,@_的值和上述类似。甚至此子程序递归调用时,每一次调用将得到新的@_,因此子程序调用时将得到其自身的参数列表。
◆除非调用的子程序前有&而后面没有括号(或者没有参数),此时@_从此调用者的上下文(context)得到。这通常不是个好主意,但有时很
有用。
 

转载地址:http://ldepb.baihongyu.com/

你可能感兴趣的文章
默认情况下,如何以管理员身份运行Visual Studio?
查看>>
通过varargs参数可能导致堆污染
查看>>
Git学习笔记1 神奇的git stash
查看>>
Unable to locate package错误解决办法
查看>>
关于service中添加Transaction注解后,service无法注入bean
查看>>
linux shell 自定义函数(定义、返回值、变量作用域)介绍
查看>>
写自己的ASP.NET MVC框架(上)
查看>>
C++和C在linux下编程和与在WINDOWS下有什么区别
查看>>
CSS 的优先级机制[总结]
查看>>
linux shell 数组建立及使用技巧
查看>>
IEnumerator 协程 全称协同程序
查看>>
java实现冒泡排序
查看>>
spring boot 初试,springboot入门,springboot helloworld例子
查看>>
Spring中配置和读取多个Properties文件--转
查看>>
使用JNI进行Java与C/C++语言混合编程(1)--在Java中调用C/C++本地库
查看>>
Mac 终端命令连接mysql
查看>>
Lua中的数学库
查看>>
多态小结
查看>>
Java连MySQL的驱动mysql-connector-java-5.1.21-bin.jar的安装方法
查看>>
java基础小结
查看>>