內建函式的完整文件: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::
前綴時可用。在目前範圍中宣告 use v5.16
(或更高版本)時,"fc"
功能 會自動啟用。
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::
時可用。在目前的範圍中宣告 use v5.10
(或更高版本)會自動啟用 "say"
功能。
pack
, read
, syscall
, sysread
, sysseek
, syswrite
, unpack
, vec
-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
陳述式,這些陳述式記載於 "perlsyn 中的 Switch 陳述式" 中。"switch"
功能 會自動啟用,並在目前的範圍中宣告 use v5.10
(或更高版本)。在 Perl v5.14 及更早版本中,continue
需要 "switch"
功能,就像其他關鍵字一樣。
evalbytes
僅在 "evalbytes"
功能(請參閱 功能)或加上 CORE::
前綴時才可用。__SUB__
僅在 "current_sub"
功能 或加上 CORE::
前綴時才可用。"evalbytes"
和 "current_sub"
功能都會自動啟用,並在目前的範圍中宣告 use v5.16
(或更高版本)。
caller
、class
、field
、import
、local
、my
、our
、package
、state
、use
state
僅在啟用 "state"
功能 或在前面加上 CORE::
時才可用。在目前範圍中宣告 use v5.10
(或更高版本)時,"state"
功能 會自動啟用。
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
- 接受一個進來的 socket 連線
alarm
- 排程一個 SIGALRM
atan2
- Y/X 的反正切,範圍為 -PI 到 PI
bind
- 將一個位址繫結到一個 socket
binmode
- 準備二進位檔案進行 I/O
bless
- 建立一個物件
caller
- 取得目前子常式呼叫的內容
chdir
- 變更您目前的作業目錄
chmod
- 變更一串檔案的權限
chomp
- 從一個字串中移除一個尾隨的記錄分隔符號
chop
- 從一個字串中移除最後一個字元
chown
- 變更一串檔案的所有權
chr
- 取得這個數字所代表的字元
chroot
- 將目錄設為路徑查詢的新根目錄
class
- 宣告一個獨立的共用命名空間,它是一個物件類別
close
- 關閉檔案(或管線或 socket)的控制代碼
closedir
- 關閉目錄的控制代碼
connect
- 連線到一個遠端的 socket
continue
- 在 while 或 foreach 中的選用尾隨區塊
cos
- 餘弦函數
crypt
- 單向 passwd 式加密
dbmclose
- 中斷綁定在已綁定的 dbm 檔案上
dbmopen
- 建立綁定在已綁定的 dbm 檔案上
defined
- 測試值、變數或函式是否已定義
delete
- 從雜湊中刪除值
die
- 引發例外或退出
do
- 將 BLOCK 轉換為 TERM
dump
- 建立立即核心傾印
each
- 從雜湊中擷取下一個金鑰/值配對
endgrent
- 完成使用群組檔案
endhostent
- 完成使用 hosts 檔案
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
- 找出 socket 連線的另一端
getpgrp
- 取得處理程序群組
getppid
- 取得父處理程序 ID
getpriority
- 取得目前的 nice 值
getprotobyname
- 取得指定名稱的通訊協定記錄
getprotobynumber
- 取得指定通訊協定編號的通訊協定記錄
getprotoent
- 取得下一個通訊協定記錄
getpwent
- 取得下一個 passwd 記錄
getpwnam
- 取得指定使用者登入名稱的 passwd 記錄
getpwuid
- 取得指定使用者 ID 的 passwd 記錄
getservbyname
- 取得指定名稱的服務記錄
getservbyport
- 取得指定通訊埠編號的服務記錄
getservent
- 取得下一個服務記錄
getsockname
- 擷取給定 socket 的 sockaddr
getsockopt
- 取得給定 socket 上的 socket 選項
glob
- 使用萬用字元展開檔案名稱
gmtime
- 使用格林威治時間將 UNIX 時間轉換成記錄或字串
goto
- 建立 spaghetti 程式碼
grep
- 在清單中找出符合給定條件的元素
hex
- 將十六進位字串轉換成數字
import
- 將模組的命名空間修補到您自己的命名空間
index
- 在字串中尋找子字串
int
- 取得數字的整數部分
ioctl
- 與系統相關的裝置控制系統呼叫
join
- 使用分隔符號將清單加入字串
keys
- 從雜湊中擷取索引清單
kill
- 傳送訊號給程序或程序群組
last
- 提早離開區塊
lc
- 傳回字串的小寫版本
lcfirst
- 傳回字串,僅將下一個字母轉換成小寫
length
- 傳回字串中的字元數
link
- 在檔案系統中建立硬連結
listen
- 將您的 socket 註冊為伺服器
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
- 從 Socket 接收訊息
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
- 透過 socket 傳送訊息
setgrent
- 準備群組檔案以供使用
sethostent
- 準備主機檔案以供使用
setnetent
- 準備網路檔案以供使用
setpgrp
- 設定程序的程序群組
setpriority
- 設定程序的 nice 值
setprotoent
- 準備通訊協定檔案以供使用
setpwent
- 準備 passwd 檔案以供使用
setservent
- 準備服務檔案以供使用
setsockopt
- 設定一些 socket 選項
shift
- 移出陣列的第一個元素,並傳回該元素
shmctl
- SysV 共享記憶體操作
shmget
- 取得 SysV 共享記憶體區段識別碼
shmread
- 讀取 SysV 共享記憶體
shmwrite
- 寫入 SysV 共享記憶體
shutdown
- 關閉 socket 連線的一半
sin
- 傳回數字的正弦值
sleep
- 暫停執行數秒
socket
- 建立一個 socket
socketpair
- 建立一對 socket
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///
- 轉寫字串