内置函数的完整文档:perlfunc
以下是 Perl 的函数(包括看起来像函数的东西,比如一些关键字和命名运算符),按类别排列。一些函数可能出现在多个地方。任何警告,包括关键字产生的警告,都在 perldiag 和 warnings 中描述。
chomp、chop、chr、crypt、fc、hex、index、lc、lcfirst、length、oct、ord、pack、q//、qq//、reverse、rindex、sprintf、substr、tr///、uc、ucfirst、y///
fc 仅在启用 "fc" 特性 或以 CORE:: 为前缀时可用。 "fc" 特性 在当前作用域中使用 use v5.16(或更高版本)声明时会自动启用。
binmode,close,closedir,dbmclose,dbmopen,die,eof,fileno,flock,format,getc,print,printf,read,readdir,readline,rewinddir,say,seek,seekdir,select,syscall,sysread,sysseek,syswrite,tell,telldir,truncate,warn,write
say 仅在 "say" 特性 启用或以 CORE:: 为前缀时可用。 "say" 特性 在当前作用域中使用 use v5.10(或更高版本)声明时会自动启用。
-X, chdir, chmod, chown, chroot, fcntl, glob, ioctl, link, lstat, mkdir, open, opendir, readlink, rename, rmdir, select, stat, symlink, sysopen, umask, unlink, utime
break, caller, continue, die, do, dump, eval, evalbytes, exit, __FILE__, goto, last, __LINE__, method, next, __PACKAGE__, redo, return, sub, __SUB__, wantarray
break 仅在启用实验性 "switch" 特性 或使用 CORE:: 前缀时可用。 "switch" 特性 还启用了 default、given 和 when 语句,这些语句在 "Switch Statements" in perlsyn 中有说明。 "switch" 特性 在当前作用域中使用 use v5.10(或更高版本)声明时会自动启用。 在 Perl v5.14 及更早版本中,continue 需要 "switch" 特性,就像其他关键字一样。
evalbytes 仅在使用 "evalbytes" 特性(参见 feature)或在 CORE:: 前缀时可用。 __SUB__ 仅在使用 "current_sub" 特性 或在 CORE:: 前缀时可用。 "evalbytes" 和 "current_sub" 特性在当前作用域中使用 use v5.16(或更高版本)声明时会自动启用。
caller,class,field,import,local,my,our,package,state,use
state 仅在启用了 "state" 特性 或以 CORE:: 为前缀时可用。 "state" 特性 在当前作用域中使用 use v5.10(或更高版本)声明时会自动启用。
alarm,exec,fork,getpgrp,getppid,getpriority,kill,pipe,qx//,readpipe,setpgrp,setpriority,sleep,system,times,wait,waitpid
bless,class,dbmclose,dbmopen,field,method,package,ref,tie,tied,untie,use
accept,bind,connect,getpeername,getsockname,getsockopt,listen,recv,send,setsockopt,shutdown,socket,socketpair
msgctl,msgget,msgrcv,msgsnd,semctl,semget,semop,shmctl,shmget,shmread,shmwrite
endgrent,endhostent,endnetent,endpwent,getgrent,getgrgid,getgrnam,getlogin,getpwent,getpwnam,getpwuid,setgrent,setpwent
endprotoent,endservent,gethostbyaddr,gethostbyname,gethostent,getnetbyaddr,getnetbyname,getnetent,getprotobyname,getprotobynumber,getprotoent,getservbyname,getservbyport,getservent,sethostent,setnetent,setprotoent,setservent
ADJUST,and,AUTOLOAD,BEGIN,catch,CHECK,cmp,CORE,__DATA__,default,defer,DESTROY,else,elseif,elsif,END,__END__,eq,finally,for,foreach,ge,given,gt,if,INIT,isa,le,lt,ne,not,or,try,UNITCHECK,unless,until,when,while,x,xor
-X - 文件测试(-r,-x 等)
__FILE__ - 当前源文件的名称
__LINE__ - 当前源代码行号
__PACKAGE__ - 当前包
abs - 绝对值函数
accept - 接受传入的套接字连接
alarm - 安排一个 SIGALRM
atan2 - Y/X 的反正切,范围为 -PI 到 PI
bind - 将地址绑定到套接字
binmode - 为 I/O 准备二进制文件
bless - 创建一个对象
caller - 获取当前子例程调用的上下文
chdir - 更改当前工作目录
chmod - 更改文件列表的权限
chomp - 从字符串中删除尾随的记录分隔符
chop - 从字符串中删除最后一个字符
chown - 更改文件列表的所有权
chr - 获取此数字代表的字符
chroot - 使目录成为路径查找的新根目录
class - 声明一个单独的全局命名空间,它是一个对象类
close - 关闭文件(或管道或套接字)句柄
closedir - 关闭目录句柄
connect - 连接到远程套接字
continue - while 或 foreach 中可选的尾随块
cos - 余弦函数
crypt - 单向 passwd 风格的加密
dbmclose - 打破绑定到绑定的 dbm 文件
dbmopen - 创建绑定到绑定的 dbm 文件
defined - 测试值、变量或函数是否已定义
delete - 从哈希中删除值
die - 抛出异常或退出
do - 将 BLOCK 转换为 TERM
dump - 创建一个立即的内核转储
each - 从哈希中检索下一个键/值对
endgrent - 完成使用组文件
endhostent - 完成使用主机文件
endnetent - 使用网络文件完成
endprotoent - 使用协议文件完成
endpwent - 使用 passwd 文件完成
endservent - 使用服务文件完成
eof - 测试文件句柄是否已结束
eval - 捕获异常或编译并运行代码
evalbytes - 类似于字符串 eval,但旨在解析字节流
exec - 放弃当前程序以运行另一个程序
exists - 测试哈希键是否存在
exit - 终止当前程序
exp - 将 e 提升到某个幂
fc - 返回字符串的折叠大小写版本
fcntl - 文件控制系统调用
field - 声明当前类的字段变量
fileno - 从文件句柄返回文件描述符
flock - 使用建议锁锁定整个文件
fork - 创建一个与当前进程相同的新的进程
format - 声明一个图片格式,供 write() 函数使用
formline - 用于格式的内部函数
getc - 从文件句柄获取下一个字符
getgrent - 获取下一个组记录
getgrgid - 获取给定组用户 ID 的组记录
getgrnam - 获取给定组名称的组记录
gethostbyaddr - 获取给定地址的主机记录
gethostbyname - 获取给定名称的主机记录
gethostent - 获取下一个主机记录
getlogin - 返回在当前 tty 上登录的用户
getnetbyaddr - 获取给定地址的网络记录
getnetbyname - 获取给定名称的网络记录
getnetent - 获取下一个网络记录
getpeername - 查找套接字连接的另一端
getpgrp - 获取进程组
getppid - 获取父进程 ID
getpriority - 获取当前的 nice 值
getprotobyname - 根据名称获取协议记录
getprotobynumber - 根据协议编号获取协议记录
getprotoent - 获取下一个协议记录
getpwent - 获取下一个 passwd 记录
getpwnam - 根据用户登录名获取 passwd 记录
getpwuid - 根据用户 ID 获取 passwd 记录
getservbyname - 根据名称获取服务记录
getservbyport - 根据端口号获取服务记录
getservent - 获取下一个服务记录
getsockname - 获取给定套接字的 sockaddr
getsockopt - 获取给定套接字的套接字选项
glob - 使用通配符扩展文件名
gmtime - 使用格林威治时间将 UNIX 时间转换为记录或字符串
goto - 创建意大利面条代码
grep - 在列表中定位符合给定条件的元素
hex - 将十六进制字符串转换为数字
import - 将模块的命名空间修补到您自己的命名空间中
index - 在字符串中查找子字符串
int - 获取数字的整数部分
ioctl - 与系统相关的设备控制系统调用
join - 使用分隔符将列表连接成字符串
keys - 从哈希中检索索引列表
kill - 向进程或进程组发送信号
last - 提前退出块
lc - 返回字符串的小写版本
lcfirst - 返回一个字符串,其中只有下一个字母是小写
length - 返回字符串中的字符数
link - 在文件系统中创建硬链接
listen - 将您的套接字注册为服务器
local - 为全局变量创建临时值(动态作用域)
localtime - 使用本地时间将 UNIX 时间转换为记录或字符串
lock - 获取对变量、子例程或方法的线程锁
log - 检索数字的自然对数
lstat - 获取符号链接的统计信息
m// - 使用正则表达式模式匹配字符串
map - 对列表应用更改,以获取包含更改的新列表
method - 声明类的成员方法
mkdir - 创建目录
msgctl - SysV IPC 消息控制操作
msgget - 获取 SysV IPC 消息队列
msgrcv - 从消息队列接收 SysV IPC 消息
msgsnd - 将 SysV IPC 消息发送到消息队列
my - 声明和赋值局部变量(词法作用域)
next - 提前迭代代码块
no - 在编译时取消导入某些模块符号或语义
oct - 将字符串转换为八进制数
open - 打开文件、管道或描述符
opendir - 打开目录
ord - 查找字符的数值表示
our - 声明和赋值包变量(词法作用域)
pack - 将列表转换为二进制表示
package - 声明独立的全局命名空间
pipe - 打开一对连接的文件句柄
pop - 从数组中删除最后一个元素并返回它
pos - 查找或设置最后/下一个 m//g 搜索的偏移量
print - 将列表输出到文件句柄
printf - 将格式化的列表输出到文件句柄
prototype - 获取子例程的原型(如果有)
push - 将一个或多个元素追加到数组
q/STRING/ - 单引号字符串
qq/STRING/ - 双引号字符串
qr/STRING/ - 编译模式
quotemeta - 引用正则表达式特殊字符
qw/STRING/ - 引用单词列表
qx/STRING/ - 反引号引用字符串
rand - 获取下一个伪随机数
read - 从文件句柄中读取固定长度的缓冲区输入
readdir - 从目录句柄中获取目录
readline - 从文件中获取记录
readlink - 确定符号链接指向的位置
readpipe - 执行系统命令并收集标准输出
recv - 通过套接字接收消息
redo - 重新开始此循环迭代
ref - 找出被引用的事物的类型
rename - 更改文件名
require - 在运行时从库中加载外部函数
reset - 清除所有给定名称的变量
return - 提前退出函数
reverse - 翻转字符串或列表
rewinddir - 重置目录句柄
rindex - 从右到左的子字符串搜索
rmdir - 删除目录
s/// - 用字符串替换模式
say - 将列表输出到文件句柄,并在末尾追加换行符
scalar - 强制标量上下文
seek - 为随机访问 I/O 重新定位文件指针
seekdir - 重新定位目录指针
select - 重置默认输出或执行 I/O 多路复用
semctl - SysV 信号量控制操作
semget - 获取 SysV 信号量集
semop - SysV 信号量操作
send - 通过套接字发送消息
setgrent - 准备组文件以供使用
sethostent - 准备主机文件以供使用
setnetent - 准备网络文件以供使用
setpgrp - 设置进程的进程组
setpriority - 设置进程的优先级值
setprotoent - 准备协议文件以供使用
setpwent - 准备 passwd 文件以供使用
setservent - 准备服务文件以供使用
setsockopt - 设置一些套接字选项
shift - 删除数组的第一个元素,并返回它
shmctl - SysV 共享内存操作
shmget - 获取 SysV 共享内存段标识符
shmread - 读取 SysV 共享内存
shmwrite - 写入 SysV 共享内存
shutdown - 关闭套接字连接的一半
sin - 返回数字的正弦值
sleep - 阻塞一段时间
socket - 创建套接字
socketpair - 创建一对套接字
sort - 对值列表进行排序
splice - 在数组中的任何位置添加或删除元素
split - 使用正则表达式分隔符拆分字符串
sprintf - 格式化打印到字符串
sqrt - 平方根函数
srand - 播种随机数生成器
stat - 获取文件的状态信息
state - 声明并分配持久性词法变量
study - 无操作,以前优化输入数据以进行重复搜索
sub - 声明一个子例程,可能匿名
substr - 获取或修改字符串的一部分
symlink - 创建指向文件的符号链接
syscall - 执行任意系统调用
sysopen - 打开文件、管道或描述符
sysread - 从文件句柄进行固定长度的无缓冲输入
sysseek - 定位与 sysread 和 syswrite 一起使用的句柄上的 I/O 指针
system - 运行一个单独的程序
syswrite - 向文件句柄进行固定长度的无缓冲输出
tell - 获取文件句柄上的当前查找指针
telldir - 获取目录句柄上的当前查找指针
tie - 将变量绑定到对象类
tied - 获取对绑定变量底层对象的引用
time - 返回自 1970 年以来的秒数
times - 返回自身和子进程的已用时间
tr/// - 转写字符串
truncate - 缩短文件
uc - 返回字符串的大写版本
ucfirst - 返回第一个字母为大写的字符串
umask - 设置文件创建模式掩码
undef - 删除变量或函数定义
unlink - 删除指向文件的链接
unpack - 将二进制结构转换为正常的 Perl 变量
unshift - 在列表的开头添加更多元素
untie - 打断与变量的绑定
use - 启用 Perl 语言功能并声明所需版本
utime - 设置文件的最后访问和修改时间
values - 返回哈希中的值列表
vec - 测试或设置字符串中的特定位
wait - 等待任何子进程死亡
waitpid - 等待特定子进程死亡
wantarray - 获取当前子程序调用的空值、标量或列表上下文
warn - 打印调试信息
write - 打印图片记录
y/// - 转写字符串