Perl入門ゼミスマートフォン用の表示で見るPerl入門ゼミこの広告は、90日以上更新していないブログに表示しています。2009-10-25よく使用する関数・標準モジュール一覧Perl›よく使う関数・モジュールよく使用する関数・標準モジュールの一覧です。これらの関数を覚えておけば、Perlをより便利なものにすることができます。詳細な解説は避け、簡単なサンプルを紹介しています。戻り値のあるものについては$retという記号で表しています。使用する特殊変数、標準モジュールについても、解説しています。関数とモジュールのドキュメントの調べ方よく使用する特殊変数よく使用する標準モジュール数学関数abs絶対値を求めるにはabs関数を使用します。$num;abs(-3)は3になります。sqrt正の平方根を求めるには、sqrt関数を使います。$num;sqrt(4)は2になります。int小数点を含む数値の整数部を取り出すにはint関数を使用します。$num;int(1.5)は1に、int(-1.5)は-1になります。ceil(POSIX)小数点を切り上げるには、POSIXモジュールのceil関数を使用します。$num;floor(POSIX)小数点を切り下げるには、POSIXモジュールのfloor関数を使用します。$num;rand乱数を生成するにはrand関数を使用します。引数で指定した数より小さい数値がランダムで生成されます。$num;looks_like_number(Scalar::Util)数値であるかどうかの判定を行うにはScalar::Utilモジュールのlooks_like_number関数を使用します。文字列操作join区切り文字を指定して文字列を連結するにはjoin関数を使用します。@array);第1引数は、区切り文字です。この例では区切り文字としてカンマを指定しています。第2引数以降で与えられた文字列が区切り文字で連結されます。length文字列の長さを取得するには、length関数を使用します。$str;substr指定した位置の文字を抽出・置換するにはsubstr関数を使用します。4);第1引数は対象の文字列です。第2引数は抽出したい文字列の開始位置です。第3引数は抽出したい文字列の長さです。$replace);指定した位置の文字列を置換するには、第4引数に置換後の文字列を指定します。この例では$strの先頭から2文字が$replaceで置き換わります。index文字列を検索するにはindex関数を使用します。$search);第1引数には検索対象の文字列、第2引数には検索したい文字列を指定します。戻り値には文字列が見つかった位置が返却されます。見つからなかった場合は-1が返却されます。$pos);第3引数に検索開始位置を指定することができます。rindex文字列の末尾から文字列を検索するにはrindex関数を使用します。$search);split区切り文字で文字列を分割するにはsplit関数を使用します。$str);第1引数には区切り文字を正規表現で指定します。第2引数には分割したい文字列を指定します。戻り値は分割された文字列の配列です。reverse文字列の順序を逆順にするにはreverse関数を使用します。$str;またreverse関数は配列に対して使用すると配列の順序を逆順にします。uc文字列を大文字に変換するにはuc関数を使用します。$str;ucfirst文字列の先頭だけを大文字に変換するにはucfirst関数を使用します。$str;lc文字列を小文字に変換するにはlc関数を使用します。$str;lcfirst文字列の先頭だけを小文字に変換するにはlcfirst関数を使用します。$str;sprintf書式を指定した文字列を作成するにはsprintf関数を使用します。@strs);第1引数は書式を表現した文字列です。第2引数以降は書式指定子の部分に埋め込まれる文字列です。[A]書式指定のサンプル$numを整数として解釈して8桁でフォーマットします。8桁に満たない部分は0で埋められます。$num);$numを浮動少数点と解釈して小数点2桁で丸めます。引数を浮動小数点として解釈(指数表記(小文字)でフォーマット。引数を浮動少数点として解釈(指数表記(大文字)でフォーマット。引数に与えられた変数のメモリ上のアドレスに変換chomp末尾の改行を取り除くにはchomp関数を使用します。$strクォート演算子「q」シングルクォートの中でシングルクォートをエスケープしないで使用したい場合はクォート演算子を使用します。q(aaa'bbb)機能はシングルクォートで囲んだ場合と同じです。変数展開は行われません。これと同じ'aaa\'bbb'ダブルクォート演算子「qq」ダブルクォートの中でダブルクォートをエスケープしないで使用したい場合はダブルクォート演算子を使用します。qq(aaa"bbb)機能はダブルクォートで囲んだ場合と同じです。変数展開が行われます。quotemeta正規表現の中で使用される特別な文字列をエスケープするにはquotemeta関数を使用します。$str;chr数値を対応するASCII文字に変換するにはchr関数を使用します。$num;ordASCIIコードの文字を内部表現である数値に変換するにはord関数を使用します。$char;oct8進文字列を対応する数値に変換するにはoct関数を使用します。$octal;hex16進文字列を対応する数値に変換するにはhex関数を使用します。配列の個数を取得するにはスカラーコンテキストで配列を評価します。配列の最後の要素番号を取得するには$#arrayとします。$#array;shift配列の先頭の要素を取り出すにはshift関数を使用します。@array;unshift配列の先頭に要素を追加するにはunshift関数を使用します。@items);pop配列の末尾の要素を取り出すにはpop関数を使用します。@array;push配列の末尾に要素を追加するにはpush関数を使用します。@items);splice配列に対する複数の要素の操作を行うにはsplice関数を使用します。[A]複数の要素を取り出す複数の要素を取り出すことができます。$size)第1引数に対象の配列、第2引数に開始位置、第3引数に抜き出したいサイズを指定します。[B]複数の要素を置換する複数の要素を置換することができます。@items);第4引数に置き換えたい配列を指定します。配列スライス配列から複数の要素を取得するには配列スライスを使用します。3];この例では@arrayの0,1,3番目の要素が@retに代入されます。grep条件にマッチした要素だけを取り出したい場合はgrep関数を使用します。3より大きい値を抜き出すサンプルです。配列の要素は順番に$_に代入されます。満たすものだけが@retに代入されます。map配列のすべての要素を処理するにはmap関数を使用します。すべての要素を2倍するサンプルです。配列の要素は順番に$_に代入されます。結果が@retに代入されます。max(List::Util)配列の要素の最大値を求めるにはList::Utilモジュールのmax関数を使用します。@array;min(List::Util)配列の要素の最小値を求めるにはList::Utilモジュールのmin関数を使用します。@array;sum(List::Util)配列の要素の合計を求めるにはList::Utilモジュールのsum関数を使用します。@array;sort配列の要素を並び替えるにはsort関数を使用します。@array;[A]数値で比較して昇順で並び替える数値で比較して昇順で並び替えるサンプルです。@array;数値で比較するには<=>を使用します。[B]数値で比較して降順で並び替える数値で比較して降順で並び替えるサンプルです。@array;数値で比較するには<=>を使用します。[C]辞書順で比較して昇順で並び替える辞書順で比較して昇順で並び替えるサンプルです。@array;辞書順で比較するにはcmpを使用します。[D]辞書順で比較して降順で並び替える辞書順で比較して降順で並び替えるサンプルです。@array;辞書順で比較するにはcmpを使用します。shuffle(List::Util)配列をランダムに並べ替えるにはList::Utilモジュールのshuffle関数を使用します。@array;reverse配列の要素を逆順にするにはreverse関数を使用します。文字列リスト演算子を使えばカンマやクォートなしで文字列のリストを表現できます。ハッシュ操作keysハッシュのすべてのキーを取得するにはkeys関数を使用します。%hash;valuesハッシュのすべての値を取得するにはvalues関数を使用します。%hash;eachハッシュのキーと値のペアを順に取得するにはeach関数を使用します。%hash;すべてのキーと値のペアを順に処理するためにはwhileループと一緒に使用します。...}existsハッシュのキーの存在を確認するにはexists関数を使用します。exists($hash{$key});deleteハッシュのキーを削除するにはdelete関数を使用します。$hash{$key};reverseハッシュのキーと値を入れ替えるにはreverse関数を使用します。ファイル入出力openファイルをオープンするにはopen関数を使用します。$!";ファイルオープンが成功した場合は$fhにファイルハンドルが代入されます。($fhを宣言すると同時にopen関数に渡しています。)ファイルオープンが失敗した場合のエラー処理は必ず行う必要があります。[A]オープンモードよく使用されるオープンモードの一覧です。>>closeファイルハンドルをクローズするにはclose関数を使用します。$fh;ファイル入力演算子ファイルから1行を読み込むにはファイル入力演算子を使用します。<$fh>;通常はwhileループと一緒に使用します。...}[A]すべての行を配列に読み込むすべての行を配列に読み込むにはリストコンテキストでダイヤモンド演算子を使用します。<$fh>;filenoファイルディスクリプタを取得するにはfileno関数を使用します。$fh;opendirディレクトリをオープンするにはopendir関数を使用します。$!";$dhにオープンされたディレクトリハンドルが代入されます。ディレクトリオープンが失敗した場合のエラー処理は必ず行う必要があります。closedirディレクトリハンドルをクローズするにはclosedir関数を使用します。$dh;readdirディレクトリの中のファイル名を1つずつ読みこむにはreaddir関数を使用します。$dh;通常はwhileループと一緒に使用します。ファイル・ディレクトリ操作unlinkファイルを削除するにはunlink関数を使用します。$!";copy(File::Copy)ファイルをコピーするにはFile::Copyモジュールのcopy関数を使用します。$!";move(File::Copy)ファイルを移動するにはFile::Copyモジュールのmove関数を使用します。$!";chdirカレントディレクトリを変更するにはchdir関数を取得します。$!";mkdirディレクトリを作成するにはmkdir関数を使用します。$!";rmdirディレクトリを削除するにはrmdir関数を使用します。$!";mkpath(File::Path)複数階層のディレクトリを作成するにはFile::Pathモジュールのmkpath関数を使用します。$@";}mkpathが失敗した場合は例外が発生するので、evalブロックでキャッチします。例外が発生した場合のエラーの内容は$@に格納されます。rmtree(File::Path)中にファイルを含むディレクトリを削除したい場合はFile::Pathモジュールのrmtree関数を使用します。$message\n";}第1引数には削除したいディレクトリを指定します。最後の引数にはオプションを指定できます。この例ではエラーの内容を取得するようにしています。getcwd(Cwd)カレントディレクトリを取得するにはCwdモジュールのgetcwd関数を使用します。getcwd;chmodファイルのパーミッションを変更するにはchmod関数を使用します。$!";basename(File::Basename)ファイルのベース名を取り出すにはFile::Basenameモジュールのbasename関数を使用します。いうファイル名の場合はc.txtがベース名に当たります。dirname(File::Basename)ファイルが含まれるディレクトリ名を取得するにはFile::Basenameモジュールのdirname関数を使用します。いうファイル名の場合は/a/bがディレクトリ名に当たります。ファイルテスト演算子ファイルテスト演算子を使用するとファイルやディレクトリの存在確認を行うことができます。$dir;通常は条件文と一緒に使用されます。時刻・時間timeエポック時から現在までの経過秒を取得するにはtime関数を使用します。time;エポック時とは1970年1月1日のことです。localtime現在の日付と時刻を取得するにはlocaltime関数を使用します。年は1900年からの経過年ですので、取得した年に1900を加える必要があります。月は0から始まりますので、実際の月を取得するには1を加える必要があります。timelocal(Time::Local)日付と時刻の情報からエポック時からの経過秒を取得するにはTime::Localモジュールのtimelocal関数を使用します。$year);sleepスリープするにはsleep関数を使用します。スリープする時間は秒で指定します。$sec;スリープするとプログラムはその間停止します。usleep(Time::HiRes)マイクロ秒単位でスリープするにはTime::HiResモジュールのusleep関数を使用します。その他の重要な関数defined値が定義されているかを確認するにはdefined関数を使用します。defined($val);killプロセスにシグナルを送るにはkill関数を使用します。$child_process_id);caller呼び出し元の関数の情報を取得するにはcaller関数を使用します。caller(0);引数には何階層上の呼び出し元の情報を取得するかを指定します。戻り値は順にパッケージ名、ファイル名、行番号、サブルーチン名になります。getpwuid実行ユーザ名を取得するにはgetpwuid関数を使用します。getpwuid($>);第1引数にはユーザIDを指定します。実行ユーザIDは$>という特殊変数に格納されているのでこれを指定します。hostname(Sys::Hostname)ホスト名を取得するにはSys::Hostnameモジュールのhostname関数を使用します。hostname;dieエラーメッセージを表示してプログラムを終了するにはdie関数を使用します。$message;warn警告メッセージを表示するにはwarn関数を使用します。$message;evalブロック例外をキャッチするにはevalブロックを使用します。例外が発生した場合の処理}例外が発生した場合は$@にエラーの内容が設定されます。__PACKAGE__現在のパッケージ名は__PACKAGE__で取得することができます。__PACKAGE__;__LINE__スクリプト上の行番号は__LINE__で取得することができます。__LINE__;__FILE__スクリプトのファイル名は__FILE__で取得することができます。関数名で見ることができます。モジュール名で見ることができます。ドキュメントをファイルに出力したい場合はリダイレクトを使用するとよいでしょう。使用するモジュールFile::SpecFile::Specモジュールを使用すればOSに応じたファイル名を作成することができます。dir/file.txtになります。FindBinFindBinモジュールを使用すれば、実行しているスクリプトが存在するディレクトリ名を取得することができます。実行しているスクリプトが存在するディレクトリ名が格納されます。liblibモジュールを使用すればモジュールの検索パスを追加することができます。lib/;カレントディレクトリとカレントディレクトリのlibディレクトリをモジュールの検索パスに追加する例です。Carp呼び出し元から見た観点でエラーを報告するにはCarpモジュールを使用します。croakをdieの代わりに、carpをwarnの代わりに使用します。warnと同じcarp($message);Get::Optionsコマンドライン引数でオプションを受け取りたい場合はGet::Optionsモジュールを使用します。次のようなオプションを受け取りたいとします。--verboseこのオプションを受け取るためには以下のように記述します。\$verbose);URIURLの操作を便利に扱うにはURIモジュールを使用します。$url->as_string;Data::Dumper配列やハッシュの内容を出力するにはData::Dumperモジュールを使用します。['$hash']);XML::SimpleXMLをPerlのデータ構造に変換するにはXML::Simpleモジュールを使用します。$xml->XMLin($xml_file);XMLinメソッドでXMLファイルを解析してPerlのデータ構造に変換することができます。LWP::UserAgentインターネットから情報を取得するにはLWP::UserAgentモジュールを使用します。die($response->status_line);}getメソッドに取得したいページのURLを取得します。HTTP::Responseオブジェクトが返却されますので、is_successメソッドで成功したかどうかを調べます。成功した場合はcontentメソッドで取得したページの内容を取得します。Net::FTPFTPを行いたい場合はNet::FTPモジュールを使用します。FTPの切断$ftp->quit;Text::Diffファイル間の差分を調べたい場合はText::Diffモジュールを使用します。ユーザー環境にPerlをインストールする月別アーカイブはてなブログをはじめよう!perlcodesampleさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。