まくまくPerlノート
🏠HOME
おそらくもうオワコンな言語、Perl。
ツイート
シェア
Pocket
Perl ドキュメント
Perl のマニュアルページを表示する (perldoc)
perldoc perl
ドキュメントのリストを表示
perldoc XYZ
XYZ のドキュメント
perldoc -f Func
組み込み関数のドキュメント
構文/言語仕様
論理演算子(短絡演算子)を利用したデフォルト値のイディオム
整数リテラル
文字列リテラル
ブール値(真偽値)
not と ! の結合度の違い
数値比較と文字列比較
制御構造
if/unless による分岐処理
while/until によるループ処理
for/foreach によるループ処理
エラー変数 $! について
undef と defined 演算子
require で別ファイル(ライブラリ)をインクルードする
パッケージによる名前空間の設定 (package, our)
一時的にカレントパッケージを変更する
定数を定義する(constant プラグマ)
リファレンス先のデータの生存期間
配列とリスト
配列とリストを定義する
配列のサイズを取得する
配列のサイズを切り詰める
配列の範囲外アクセス
配列の末尾の要素を取得する
配列に要素を追加する/取り出す
配列の要素を print で出力する
配列の要素をループで処理する
配列をコピーする
配列を連結する
リスト代入
grep 演算子によるリスト要素のフィルタリング
条件に一致するリスト要素の数を調べる
map 演算子を使ってリストの各要素を加工したリストを取得する
リストスライス、配列スライス、ハッシュスライス
配列へのリファレンスを取得する
配列の配列(二次元配列)を作成する
配列やリストをソートする
配列の添え字に小数を指定するとどうなるか?
無名配列コンストラクタ/無名ハッシュコンストラクタ
ハッシュ
ハッシュを定義する
キーのリストからハッシュを作成する
ハッシュのキーや値のリストを取得する
ハッシュが空かどうか調べる
ハッシュのサイズを取得する
ハッシュをコピーする
ハッシュの要素をループで処理する
ハッシュをソートする
ハッシュのキーが存在するか調べる
ハッシュからキーを削除する
ハッシュを空にする(ハッシュの要素をすべて削除する)
ハッシュをリストに展開する
ハッシュをファイルに保存する(DBMハッシュ)
ハッシュへのリファレンスを取得する
2 つのハッシュを合成する
(コラム)ハッシュと連想配列
サブルーチン
サブルーチンの基本
サブルーチンを可変長引数に対応させる
サブルーチンがリストコンテキストで呼び出されたか調べる
サブルーチン内では exit を使わずに die を使う
サブルーチンの引数をリファレンスで渡す(参照渡し)
サブルーチンへのリファレンスを取得する
無名サブルーチンを定義する
モジュール
use によるモジュールのインポート
モジュールの検索パスを追加する(use lib プラグマ)
インポート可能なモジュールを作成する
ディストリビューション用のテンプレートファイルを作成する (h2xs)
CPAN に登録されたディストリビューションの README ファイルを表示する
指定したディレクトリにモジュールをインストールする
POD フォーマットについて
クラス/オブジェクト
マニュアルは
perldoc perlobj
で
コンストラクタを定義する
メンバ変数とメンバメソッドを定義する
クラスを継承する
デストラクタを定義する
オブジェクトを明示的に破棄する
クラスメソッドとしてもインスタンスメソッドとしても使えるメソッドを定義する
複数のオブジェクトを一度に作成する
すべてのクラスの親クラスとして振舞う UNIVERSAL パッケージを拡張する
あるクラスを継承しているかどうか調べる
あるメソッドが存在するか調べる
文字列/正規表現
基本的な文字列処理
文字列を結合する (.)
ある文字列を繰り返した文字列を作成する (x)
文字列リテラルの中で配列を展開する
文字列をデリミタで分割する (split)
文字列を1文字ずつに分割する (split)
リスト要素を結合して1つの文字列にする (join)
文字列の末尾の改行を取り除く (chomp)
部分文字列の位置を検索する (index, rindex)
文字列リテラルを囲むクォート文字に任意の記号を使用する
マッチングと抽出
正規表現による文字列マッチングの基本
欲張りな量指定子と欲張りでない量指定子による文字列マッチング
大文字と小文字を区別しない文字列マッチング
行をまたいだ文字列マッチング
正規表現パターンにマッチした部分文字列を抜き出す
インデックス指定で文字列を抜き出す (substr)
サンプル: インデントされた行、インデントされていない行を抜き出す
置換
文字列を置換する
文字単位で置換する
大文字と小文字を置換する
インデックス指定で文字列を置換する (substr)
サンプル: 数値を3桁ごとにカンマを入れて表示する
サンプル: スクリプトや設定ファイルのコメント(#以降)を削除する
応用
テキストの折り返し(改行)処理を自動で行う (Text::Wrap)
入出力 (I/O)
printf のフォーマット出力を使いこなす
標準入力を読み込む (STDIN)
ダイヤモンド演算子を使って標準入力とファイルからの入力に対応する
変数の内容をファイルに保存する/復元する
ファイル・ディレクトリ
ファイルのオープン・クローズと読み書きの基本
ファイルがオープンできないとき自動で終了する(autodie プラグマ)
グロブよってファイル名のリストを取得する (glob)
ディレクトリハンドルによってファイル名のリストを取得する (readdir)
指定したディレクトリ以下のファイルを列挙する (find)
ディレクトリを作成する
ファイル・ディレクトリを削除する (unlink, rmdir)
ファイル名を変更する (rename)
ファイルを移動する (rename)
ファイルをコピーする (copy)
ディレクトリ内のファイルの合計サイズを調べる
読み込んでいるファイルの内容を直接変更する(書き戻し編集: in-place editing)
スクリプトの末尾にテキストデータを埋め込む(埋め込みドキュメント)
標準出力 (STDOUT) の出力先をファイルに切り替える
Config ファイル(key=value という行形式のファイル)を読み込むサンプル
ファイルテスト
ファイルが存在するかどうか調べる (if -e)
ファイルがしばらく更新されていないかどうか調べる (if -M)
ファイルサイズを調べる (-s)
ファイルがテキストファイルかどうか調べる (-T)
パス
カレントディレクトリのパスを取得する (cwd)
カレントディレクトリを変更する (chdir)
フルパス(絶対パス)からファイル名やディレクトリ名を抽出する (basename, dirname)
プロセス
fork で子プロセスを作成する
あるプロセス ID のプロセスがまだ生きているかを確認する (kill)
SIGINT シグナル (Ctrl-C) をハンドリングする
子プロセス(外部プログラム)への入出力を取り込む(パイプ)
子プロセス(外部プログラム)の出力を取り込む(バッククォート文字列)
その他
プログラムの起動パラメータ (-t filename) などを処理する
Perl スクリプトのエンコーディングを指定する
Perl スクリプトが Windows で実行されているか調べる
Perl のスカラ変数と配列に $, @ というプレフィックスを付ける理由
環境変数を参照する (%ENV)
現在の日時を文字列で取得する (localtime, gmtime)
画像ファイルの幅、高さを調べる (Image::Size)
ユーザー名、グループ名からユーザ ID、グループ ID を取得する (getpwnam, getgrnam)
現在の環境で使用可能な make ユーティリティの名前を確認する
デバッグ
Data::Dumper で複雑なデータをダンプする
Perl のデバッガを使用する
Perl で使用可能なテストモジュール
一時的にエラーメッセージを詳しくする(diagnostics プラグマ)
ツイート
シェア
Pocket
カテゴリ一覧
いろいろ
Android
Ansible
Blender
C/C++
Docker
Git
Go言語
Gradle
HTML/CSS
Hugo
Java
JavaScript
Kotlin
Linux/Shell
Mac
Middleman
Node.js
Octave
Perforce
Perl
PHP
Python
R
Ruby
Rust
Sass
sed/awk
SQL
トレードステーション
Vagrant
VBA
Vim
Windows
天才まくまくノート
🏠HOME