Perlリファレンス

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

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

■pack→Pack/Unpackの書き方(Coming Soon)
 
pipe( 読み込みファイルハンドル , 書き出しファイルハンドル )
2つのファイルハンドルをパイプでつなげます。組み方によってはデッドロック(互いに譲らずまったく動かなくなる状態)になるので注意してください。
 
pop( [配列] ) [デフォルト@ARGV/サブルーチン内では@_]
配列の最後の要素を切り出して返します。
※与えた配列は最後の要素が切り出されますので要素数が1つ減ります。
 
pos( [文字列] ) [デフォルト$_]
m//g(//g)で現在検索中の位置(最後に正規表現に合致した位置)を返します。
また、pos($text) = 53; などとすると検索位置を変更できます。
 
print [ファイルハンドル] [データ] [デフォルトSTDOUT] [デフォルト$_]
与えたファイルハンドルにデータを書き出します。ファイルハンドルを省略すると標準出力に書き出され、データも省略すると$_の中身が書き出されます。つまり、
print;
とだけ書くと$_の中身が標準出力に書き出されます。
 
データはリストコンテキストとして評価されますので、例えば
print <FHANDLE>;
とするとファイル内のデータを全て標準出力に書き出してしまいます。

◇ワンポイントアドバイス
・printで出力するデフォルトの出力先ファイルハンドル(標準出力)はselectで変更できます。
・1つめの引数は変数でも指定可能で、
$fhname = 'FH';
print $fhname 'TEST';
などということも可能です。他のファイルハンドルを扱う関数でもこの技は可能のようです。

 
■printf→printf/sprintの書き方(Coming Soon)
 
prototype 関数名/関数リファレンス
特定の関数のプロトタイプ(引数に何を取るかを表した文字列)を返します。
 
push 配列,リスト
配列の最後にデータのリストを追加します。追加するデータはいくつでもかまいません(push(@test,@from)といったものも可)
※与えた配列は要素数が第2引数のリストの数だけ増えます。
 
quotemeta [データ] [デフォルト$_]
アルファベット以外の文字列(a-z,A-Z,_,0-9以外)に\(バックスラッシュもしくは円記号)をつけます。$や@、%、()などにも\がつけられますので、検索機能などでパターンマッチさせる文字列を前処理しておくのによいでしょう。
なお、パターンマッチ内等で使用する場合、/\Q---\E/とするのと同じ効果があります。
 
rand [正の数] [デフォルト1]
0から指定した数までの間のランダムな数を返します。返される値は整数ではなく、3.544566といったものになります。もし整数値が欲しい場合はint()で処理すればよいでしょう。
 
◇ワンポイントアドバイス
randと対で使われるものにsrandがあります。このsrandに「乱数の種」という、ランダムな数値を与えてやる必要があります(でないとたとえばrandを同じ値で複数回呼んでも、srandに与えた値が同じ場合は同じ結果しか返しません)。もしこのsrandがrandの前に呼ばれていなかった場合は、引数無しのsrand()が呼ばれたのと同じ動きをします。

 
read ファイルハンドル,読み込み先,読み込む長さ,[読み込む場所]
ファイルから指定した長さだけ読み込み、指定した変数におさめます。例えば
read(FH,$data,100,10);
とすると、$dataの11文字目以降に、100文字分読み込みます。
 
読み込みに成功した場合は実際に読み込んだ量を返し、失敗するとundefを返します。
 
readdir ディレクトリハンドル [コンテキスト注意]
★スカラーコンテキスト
opendirで開いたディレクトリの中のファイルリストを1つずつ返します。全部読み込んでしまった場合undefを返します。
★リストコンテキスト
現在読み込み中のファイルリストの残りを全部返します。
 
readlink [ファイル名] [デフォルト$_]
シンボリックリンク(Macではエイリアス、Windowsではショートカット)のリンク先を返します。
 
■recv→ネットワーク
 
redo [ラベル]
指定したブロック({ }でかこまれた部分)の先頭に戻って最初から実行し直す命令です。ブロックのラベル名は省略可能で、省略した場合いちばん手近な繰り返しの先頭に戻ります。ただし、continue文やwhileなどの条件判定部は一切実行しません。
 
ref [リファレンス/オブジェクト] [デフォルト$_]
指定したリファレンスの参照先が何であるかを返します。
(REF,SCALAR,ARRAY,HASH,CODE,GLOB)
もしくは、(オブジェクト指向プログラミングを使用している場合)与えたオブジェクトのパッケージ名が返されます。
 
rename 旧ファイル名,新ファイル名
ファイルの名前や置き場所を変更します。成功すれば1、失敗すれば0を返します。
 
require [Perlバージョン/ファイル名] [デフォルト$_]
★数字を与えた場合
現在実行中のPerlのバージョンがそれ以上であるかどうかを判定します。適合しなかった場合はエラーとなります。
★文字を与えた場合
指定したファイルを1度だけ読み込み、Perlの文として解釈します。ライブラリ/モジュールを実現するための機能ですが、現在はモジュールの読み込みにはより高機能なuseが使われています。
 
reset [変数名の最初の1文字]
?パターン?(最初の1つに当たるまでのみ検索)での検索をリセットしてもう一度検索するようにするのと、与えた変数名の最初の1文字に該当する変数をundefにします。たとえば
reset 'd';
とすると$dataや@dramaなどの変数が、
reset 'adfh';
とするとa,d,f,hで始まる変数が、そして
reset 'a-z';
とすると小文字のa〜zで始まる変数がすべてクリアされます。
引数を省略すると??のみをリセットします。
 
return [データ]
サブルーチンやeval、doを終了し、与えたデータを呼び出し元に返します。
これを省略すると、最後に実行された式の結果が返されます。
引数を省略するとundefを返します。
 
◇ワンポイントアドバイス
returnを忘れると、空文字列ではなく最後に実行された式の結果が返されることに注意してください。エラー時などにundefを返したい時もきっちりreturnしてください。忘れると意外なバグに悩まされることになります。
 
reverse リスト [コンテキスト注意]
★スカラーコンテキスト
与えたリストを1つの文字列につなげたのち、その文字の順序を入れ替えて返します。つまり、
$data = reverse('abc','def');
とすると、fedcbaが$dataに入ります。
★リストコンテキスト
与えたリストをすべて逆順にして返します。つまり、
@data = reverse('abc','def');
とすると、@dataには'def','abc'が入ります。
 
rewinddir ディレクトリハンドル
ディレクトリハンドルの現在の読み込み位置を最初に戻します。
 
rindex( 検索対象 , 検索文字列 , [検索開始位置] )
indexと同じはたらきをしますが、文字列の最後から検索します。詳しくはindexの説明を見てください。
 
rmdir [ディレクトリ名] [デフォルト$_]
ディレクトリ(フォルダ)を削除します。
 
 

Return : Perl Top