+-----発展編/関数:O〜-----+

 


発展編/Perlリファレンス

関数:A-C | D-F | G-I | J-N | 0- |
演算子:
定義済み変数:

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

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

Return : Perl Top