设为首页 收藏本站
查看: 945|回复: 0

[经验分享] Perl Note(2)

[复制链接]

尚未签到

发表于 2015-12-28 15:30:51 | 显示全部楼层 |阅读模式
子程序中局部变量的定义有两种方法:my和local。其区别是:my定义的变量只在该子程序中存在;而local定义的变量不存在于主程序中,但存在于该子程序和该子程序调用的子程序中(在PERL4中没有my)。定义时可以给其赋值,如:
  my($scalar) = 43;  local(@array) = (1, 2, 3);
  
  调用方法&my_sub(@array)将把数组@array的数据拷贝到子程序中的变量@_中,当数组很大时,将会花费较多的资源和时间,而用别名传递将不做这些工作,而对该数组直接操作。形式如:
  @myarray = (1, 2, 3, 4, 5);
  &my_sub(*myarray);
  sub my_sub {
  my (*subarray) = @_;
  }
  此方法类似于C语言中的传递数组的起始地址指针,但并不一样,在定义数组的别名之后,如果有同名的简单变量,则对该变量也是起作用的。
    .可用\nnn(8进制)或\xnn(16进制)来表示ASCII字符,如:
  $result = "\377"; # this is the character 255,or EOF
  $result = "\xff"; # this is also 255
  文件测试操作符
  操作符描述
  -b 是否为块设备
  -c 是否为字符设备
  -d 是否为目录
  -e 是否存在
  -f 是否为普通文件
  -g 是否设置了setgid位
  -k 是否设置了sticky位
  -l 是否为符号链接
  -o 是否拥有该文件
  -p 是否为管道
  -r 是否可读
  -s 是否非空
  -t 是否表示终端
  -u 是否设置了setuid位
  -w 是否可写
  -x 是否可执行
  -z 是否为空文件
  -A 距上次访问多长时间
  -B 是否为二进制文件
  -C 距上次访问文件的inode多长时间
  -M 距上次修改多长时间
  -O 是否只为“真正的用户”所拥有
  -R 是否只有“真正的用户”可读
  -S 是否为socket
  -T 是否为文本文件
  -W 是否只有"真正的用户"可写
  -X 是否只有"真正的用户"可执行
  注:“真正的用户”指登录时指定的userid,与当前进程用户ID相对,命令suid可以改变有效用户ID。
  

  格式值域含义
  @<<<左对齐输出
  @>>>右对齐输出
  @|||中对齐输出
  @##.##  固定精度数字  
  @*多行文本
  

  sub write_to_stdout {
  local ($savefile, $saveformat);
  $savefile = select(STDOUT);
  $saveformat = $~;
  $~ = "MYFORMAT";
  write;
  $~ = $saveformat;
  select($savefile);
  }
  printf值域
  域值  含义
  %c单个字符
  %d十进制整数
  %e科学计数法形式的浮点数  
  %f普通形式(定点)浮点数
  %g紧缩形式浮点数
  %o八进制整数
  %s字符串
  %u无符号整数
  %x十六进制整数
  指针
  取址符:\
  解址:$
  哈希表和数组引用元素:->($的另一种形式)
  文件句柄的引用:\*LOGHANDLE(用于传递参数)

  

  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-157612-1-1.html 上篇帖子: perl 提高效率一则 下篇帖子: Perl 教学 控制结构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表