Perlの特殊記号の紹介
$_
一般的に古いPerlの場所として知られているのは、プログラムがどのパラメータや変数を使うか教えてくれないときに、Perlが自動的に$_の値を使用することです。
for(1..10){
print ;
}
ここでprintは引数を指定していないので、$_を使用しています。では、$_の中身は何でしょうか?ループするたびに$_の値は変わるので、実際には$_は1 . 10なので、上のコードは12345678910という結果を表示します。
$!
この変数は、関数呼び出しに失敗したときにのみ設定されるので、次のような使い方がよくされます。
open FILE,"<d:/code/zdd.txt" or die $!
$/
これはperlの行区切り文字で、デフォルトは改行文字です。この変数を変更すると、次のようにファイル全体を一度に読み込むことができます。
sub test{
open FILE,"<d:/code/zdd.txt" or die $! ;
my$olds= $/ ;
local $/=undef ;
my$slurp=<FILE> ;
print$slurp,"\n" ;
$/=$olds ;
}
$`
正規表現のマッチングで、マッチ位置より前のコンテンツを表す変数
$&
マッチを表す正規表現マッチ変数
$'
正規表現マッチの変数で、マッチ位置の後に来るものを表す
xmlファイルを解析する例として、以下のxmlファイルで、Codeノードの値を取得したい場合を見てみましょう。
<?xml version='1.0' encoding='UTF-8'? >
<Code>200</Code>
以下のPerlコードでパースします。
my$str="<Code>200</Code>" ;
if($str=~/(? <=<Code>)(\d+)(? =<\/Code>)/){
print"string before matched: $`","\n" ;
print"matched string: $&","\n" ;
print"string after matched: $'","\n" ;
}
実行結果は
マッチする前の文字列: <Code>
マッチした文字列: 200
マッチング後の文字列: </Code>
ここで、$`は <Code> に、$&は 200 に、$' は </Code> に対応する。
$|
現在選択されている出力ファイルハンドルのキャッシュを制御する、追加される例。
@_
サブルーチンに渡される引数のリストで、通常サブルーチンは渡された引数を取得します。
sub add {
my ($num1, $num2) = @_;
return $num1 + $num2;
}
サブルーチンの引数が1つだけの場合、shiftで取得することも可能で、その場合、shiftはshift @_と同じ意味になります。
sub square {
my $num = shift ; # same as my $num = shift @_
return $num * $num;
}
Perlの共通シンボル
=> キーと値のペア、左キー、右値
->参照、Javaの[オブジェクト.メソッド名]のドットに相当
:: は、クラスのメソッドの呼び出しを示します。
ハッシュのフラグで、キーと値のペアを定義します。
配列のフラグ
スカラーに関するフラグ
=~ マッチングのためのフラグ
! ~ 一致しないフラグ
は、$! コンテキストに応じて、エラー番号またはエラー文字列を返す
関連
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Perl学習チュートリアル - シングルラインコマンドの説明
-
Perl一括で著作権情報を追加する
-
Perl学習ノート - CPANの使い方入門
-
長さを指定し、ランダムなDNA配列を生成するperlスクリプトコード
-
File::Basename を使用してファイル拡張子を取得する Perl コード
-
ssh ログインの最大数を制限する perl スクリプト (ホワイトリスト対応)
-
Perl 構文による Perl 演算子の使用法ガイド
-
Perlのハッシュの作成と参照入門
-
[解決済み] perl で awk コマンドを実行する
-
[解決済み] Perl の "make_path" と "remove_tree" は、オプションハッシュが空の場合、異なる結果になります。