Perlリファレンス

関数:A-C | D-F | G-I | J-O | P-R | S-T | U-Z
演算子:
定義済み変数:

※Perl5.004のman pageを参考にしています。

join( 区切り文字 , リスト )
与えられたリストを、間に区切り文字をはさみながら1つの文字列につなげてしまいます。splitの逆をすると考えればよいでしょう。例えば
@stations = ('和歌山市','みさき公園','尾崎','泉佐野');
$text = join("--",@stations);
とすると$textには「和歌山市--みさき公園--尾崎--泉佐野」が入ります。
 
keys( ハッシュ )
ハッシュ内のすべてのキーをリストにして返します。順番はハッシュへの格納順でもABC順でもなく、Perlで内部的に管理されているランダムな順番になります。
 
◇ワンポイントアドバイス
Perlの内部では「ハッシュ関数」なるモノが使われて、データを高速検索できるようになっています。そのためkeysなどで返るリストは順番がばらばらになってしまっていますので、sort keys(%hash)のようにソートしてから使わなければならない場合もあるでしょう。
 
■kill→シグナルを送る。kill(SIGNAL,PID,PID...)
 
last [ラベル]
現在の繰り返し文(whileやforeachなど)をすぐに終了し、続きを実行します。ラベルを指定するとそのラベルのついた繰り返し文を終了します。
LABEL : while ( <IN> ) {
 LABEL2 : while ( <ININ> ) {
  last LABEL;
 }
}
例えばこのようにすると、一番外側のラベルがLABELですので、内側の繰り返しも一度に終了します。
 
lc( [文字列] ) [デフォルト$_]
アルファベットを小文字にします。
 
lcfirst( [文字列] ) [デフォルト$_]
一番最初のアルファベットを小文字にします。
 
link( ファイル1,ファイル2 )
「ファイル2」を指す、「ファイル1」という名前のハードリンクを作ります。
 
■listen→ネットワーク
 
local( 変数 )
「変数」を一度別の場所に退避しておき、新たに空の変数を作ります。そして、現在いるサブルーチンが終了した時に退避しておいた値が戻されます。そのため、my()を指定したものと異なり、そこから呼び出した別のサブルーチン内でも変数の値は有効です。
 
localtime( [time] ) [デフォルトtime()=現在時刻] [コンテキスト注意]
time関数で返された時刻(ある日からの秒数)を変換して以下のようなフォーマットで返します。gmtime()と異なり、動作中の機械に設定されているタイムゾーンを元にして変換しますので、純粋に現在時刻を得たい場合に使用するとよいでしょう。
★リストコンテキスト
(秒 , 分 , 時 , 日 , 月-1 , 西暦年-1900 , 曜日(日=0〜土=6) , 1/1からの日数 , 夏時間か?) = gmtime(time)
★スカラーコンテキスト
"Mon Apr 10 11:50:11 2000"のように日付の文字列をそのまま返します。
 
log( [数値] ) [デフォルト$_]
log(対数)の値を返します。
 
lstat( [ファイル名] ) [デフォルト$_]
stat()と同じ動作をしますが、シンボリックリンクをたどった先のファイル情報を返します(stat()はシンボリックリンク自体の情報を返す)。詳しくはstat()を参照してください。
 
map( 式 , リスト )
map { ブロック; } リスト
渡されたリストの値を順番に$_に代入して、式またはブロックにそれぞれを処理させ、その返り値を順番に並べたリストを返します。例えば
@list = ('D','E','F','G');
@modified = map { 'ABC' . $_; } @list;
とすると、@modifiedには
('ABCD','ABCE','ABCF','ABCG')
が入るわけです。
 
mkdir( ディレクトリ名 )
ディレクトリ(フォルダ)を作ります。成功したら1、失敗したら0を返します。
 
■msg???→System V IPC
 
my( 変数 )
現在のブロック内でのみ有効な変数を作成します。この中から新たに呼び出したサブルーチンなどの中では、local()と違いこの値は読み出せません(my宣言前に変数に入っていた値に戻ります)。
 
next [ラベル]
以降の文の実行をキャンセルして、現在の繰り返し文(whileやforeachなど)の最初に戻り、次の繰り返しを開始します。ラベルを指定するとそのラベルがつけられた繰り返し文の最初に戻ります。
redoとの違いは、continue文やwhileの条件判定部を実行するか否かです。
 
no モジュール リスト
指定したモジュールの指定したサブルーチン/変数の使用を停止します。useと逆のはたらきをします……が、あまり使う事は無いでしょう(汗)
  
oct( [8進数を示す文字列] ) [デフォルト$_]
8進数を示す文字列(パーミッション値など=755とか644とか…)を強制的に10進数に変換して、それを返します。例えば
$num = oct('644');
は420(10進数)となります。
 
open( ファイルハンドル , ファイル名 )
ファイル名で示されるファイルを開き、第1引数で指定したファイルハンドルに結び付けます。
ただし、ファイル名の中には、以下のようにファイルの読み書きモードを指定したり、あるいはパイプ(他のプログラムの実行結果を読み込んだり他のプログラムにデータを渡したりする仕組み)を作成したりすることが可能です。
 

"<file.txt" "file.txt"

読み込み専用

">file.txt"

今あるデータを消して書き込み・ファイル作成

">>file.txt"

ファイルの最後に追加

"+<file.txt"

読み書き

"+>file.txt"

今あるデータを消して読み書き

"|program.exe"

他のプログラムにデータを渡すパイプ

"program.exe|"

他のプログラムの実行結果を読み込むパイプ

"&FHANDLE"

ファイル名の代わりにファイルハンドルを開く
例:open(STDERR,">&STDOUT");
とするとエラーも標準出力に出力されます

 
ファイルを開けなかった場合、undefが返され、成功した場合は0以外の数字(パイプの場合は起動したプログラムのプロセスID)が返されます。
 
opendir( ディレクトリハンドル , ディレクトリ名 )
ディレクトリを開く、つまり、そのディレクトリ内のファイルの名前のリストを取得する準備をします。
opendir(DHAND,"./");
@files = <DHAND>;
closedir(DHAND);
とすると現在のディレクトリ内のファイルの名前のリストが@filesに代入されます。
ただし、UNIXの場合現在のディレクトリを示す"."と、親ディレクトリを示す".."もリスト内に入るので注意してください。
 
ord( [文字] ) [デフォルト$_]
与えた文字に対応するASCIIコードを数字で返します。
 
 
 

Return : Perl Top