内置函数的完整文档: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///
- 转写字符串