perl スクリプティング スタディガイド - 読書メモ
undef デフォルトの未定義文字、PerlにNULLはない defined($x)関数:引数がundefなら偽を返す。
qw(cs phy geo) は ("cs", "phy", "geo") と似ていて、リストを配列 @array に代入することができます。
配列演算子:末尾のpop,push、先頭のshift,unshift、逆順、@array = sort @arrayです。
foreach @array{print $_;} は配列を表示します。$_ は非常に強力なデフォルト変数です。
各操作で、@array のペア (インデックス、値) を返し、while ループで使用されます。
Perlはスカラーやリストのコンテキストに自動的に適応します。
subは、サブルーチン(関数)を定義し、引数は、@_配列になります、呼び出しプログラムは&ampを使用することができます。
関数の永続的なプライベート変数で、state で識別され、関数が呼び出されるたびに最後に変更されたものと同じになります。
myは変数のスコープを現在のロールに限定し、一般にmyで変数を定義します。
デフォルトでは、引数リストにあるすべてのファイルを読み込みますが、各行の末尾に" \n "が付きます。
printfは出力をフォーマットすることができますが、sprintfはより強力です。
ファイルハンドル: open CONFIG, '>>:utf8', 'ファイル名' または die "failed : $! ", die は例外をスローし出力を生成、CONFIGをクローズします。
ファイルハンドルを使用:while(<CONFIG>)と同様にファイルを読み込み、デフォルトの出力ファイルを変更、CONFIGを選択、CONFIGファイルに"123"を出力、これはデフォルトSTDERRを置換可能
ハッシュ配列: キー、値配列; 配列に値を割り当てることができ、ハッシュを展開する; value=>key: 環境変数 %EVN に反転する
キー %hash はキーの配列を返し、値 %hash は値の配列を返す; それぞれ K, V を返す; exists, delete 関数
強力な正規表現。\を使えば、どんな空白にも対応できます。また、括弧を使えば、変数 $1 を捕捉し、次のマッチングが成功するまで有効です。
キャプチャパターンがない。/(? :bronto)?aaaa(bb|CC)/ここで $1 は bb または CC を表します。 /(? <name1>\w+)/ 名前キャプチャ、 $+{name1} です。
自動キャプチャ変数: $`match before $&match to $' match after; /xxxx/p キャプチャ変数をオンにする:高バージョン ${^MATCH}.
s///replacement, sed に似ているが、$1 の取り込みに対応。
split /regular/, $string: 文字列を配列に分割する。
欲張りでない量化子 +? , *? , {8,}? /i は大文字小文字を無視し、/m は改行にマッチします。
$^I = ".bak" は、ファイルを更新し、それを filename.bak として開き、元のファイルに書き戻すことができます。
unless(con): if(!con) と同様; until: 条件が偽なら繰り返す; last は break と同様; next は continue と同様; redo はループ本体 (new) の最初に戻る; タグを追加できる。
stat $filename はファイルに関する様々な情報を返す; my @files = glob "*": 現在のパス内のすべてのファイル名
文字列関数:index, substr; 高度なソート @res = sort {$a<==>$b && $a cmp $b}. 配列
Smart matcher: ~~: ハッシュのキーにマッチ、配列が同じかどうかの判定。
given-when文:switchと同様で、continueとbreakがある。
システムプラスコマンドで子プロセスを実行します。execは別のプロセスに実行され、perlはもはや実行されません。
defined(my $pid = fork) or die "$! " unless($pid){child process working}; send-receive SIGs をサポートしました。
スライス ($first, $last) = (sort @array)[0,-1], 配列、ハッシュは問題なし; evalはエラーをキャッチして返さない。
grep: my @array = grep {$_ % 2} 1..1000; 奇数の配列; my @array = map {&big_money($_)}. dataの各要素を操作する;どちらもリストを返す
関連
-
ファイルが存在するかどうかを判断するasp関数
-
ASPは、コンテンツ内のすべての画像パスSRCを正規表現で抽出するためのコードです。
-
aspで仮想ディレクトリのルートパスを取得するコード
-
Webform 組み込みオブジェクト セッションオブジェクト、アプリケーショングローバルオブジェクト、ViewState 詳細
-
SELECT ドロップダウンメニューで VALUE と TEXT 値を同時に取得する ASP コード
-
現在のフルパス(url)を取得するためのasp関数コード
-
SharePoint Server 2019の新機能をご紹介します。
-
perl use vars pragma 使用のヒント
-
コンストラクタでのPerlメソッド使用法入門
-
perlの尖ったブラケット演算子(<>)について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
指定したフォルダーにあるリンク切れファイルのシンボリックリンクを自動的に削除するスクリプト
-
ASPで短い日付を0から長い2つの日付に書式設定する
-
asp バッチの追加・変更・削除操作のサンプルコード
-
FluentValidationを使ったルール検証のためのNET Core
-
数字を漢数字(大文字の金額)に変換するASP機能
-
ASPでは、.NETのStringオブジェクトと同様に、文字部分に対してPadLeftとPadRightの関数が実装されています。
-
スペースがセパレータである場合の perl qw 問題の解決法
-
Perl 変数の使い方を説明するための Perl 構文
-
Perl 構文による Perl 演算子の使用法ガイド
-
PerlのSort関数の使い方まとめと使用例