惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
S
Secure Thoughts
月光博客
月光博客
美团技术团队
雷峰网
雷峰网
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Forbes - Security
Forbes - Security
W
WeLiveSecurity
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
G
GRAHAM CLULEY
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
Last Week in AI
Last Week in AI
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recent Announcements
Recent Announcements
Webroot Blog
Webroot Blog
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
罗磊的独立博客
The Register - Security
The Register - Security
Blog — PlanetScale
Blog — PlanetScale
T
Threat Research - Cisco Blogs
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
B
Blog
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Engineering at Meta
Engineering at Meta
Latest news
Latest news
IT之家
IT之家
D
DataBreaches.Net
博客园 - 司徒正美
N
Netflix TechBlog - Medium
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - xiaoyixy

WeakHashMap相关 Java常见问题[转] MONO,原来你是水中月 Lucene 搜索引擎倒排索引原理 PXE Network Boot and Install Linux over NFS server 让进程在后台运行方法汇总 用 Spreadsheet::ParseExcel处理中文excel文件 IBM terminology abstraction 亲爱的,我想念你 Perl命令行应用 深入PAM Perl Note(1) Shell技巧 GRUB awk学习 高手好习惯 Shell脚本 用户管理 re notes
Perl Note(2)
xiaoyixy · 2008-09-23 · via 博客园 - xiaoyixy

子程序中局部变量的定义有两种方法: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(用于传递参数)