Perl 変数の使い方を説明するための Perl 構文
Perlの文法入門
1. Perl変数
1.1. Perl 構文における Perl 変数の分類
Perlの変数は、スカラ変数、配列変数、連想配列変数の3つに分類されます。Perl の変数は大文字と小文字を区別します。例えば、An、AN、an は 3 つの異なる変数ですが、異なる変数の例では同じ名前を使用できます。例えば、VAR はスカラ変数であり、同時に VAR でもある配列変数も存在します。Perlは、変数の例ごとに独立した名前空間、および他のPerlの変数を受け入れるため、これは、データの任意の例を格納することができ、Cのように変数を宣言する必要はありませんが、データの例は、イニシアティブの間に変換されますPerl変数は、グローバル変数とコース変数を持っているが、デフォルトは、グローバル変数です。
1.2. Perl 変数
1.2.1 Perl 構文におけるスカラー変数(スカラー変数)
スカラー変数は1つの値しか保持できません。Perlのスカラー変数の名前は、常に$という文字で始まります。 次のPerl文は、スカラー変数$nineに値9を代入しています。
$nine=9;
$name='BATI';
print($name,'is',$nine);
上記の文をTEST01.PLファイルとして保存し、DOSで実行します(WIN9XのMS-DOSインスタンスも可能です)。
C:\Perl5>PerlTEST01.PL(Enter)
BATIis9 (えっ、見覚えある? そう、Perlと私たちの共通のC言語はとても似ているのです)
1.2.2 Perlの構文における配列変数
配列は、一度に複数の変数を格納できるテーブルです。次のような方法で代入されます。
平日=('日','月','火','水','木','金','土')となります。
print(@weekdays);#output is:SunMonTueWedThrFriSat
print($weekdays[1]);#output is:Sun
work=@weekdays[1..5];#この時、配列workの値は('Mon','Tue",... ,'Fri')となります。
none=();# 空の配列を意味する
配列の変数名が@で始まり、[]内は配列の添え字の値で、0から始まります。これはやはりC言語とよく似ていますね。
また、Perlでは、配列名だけが珍しくて、添え字がない場合、例えばCのように全体が出力されます。
最初の出力文です。
しかし、Sunの出力で、配列の中の値を参照するとき、もはや@ではなく、$を変数の先頭にしていることに注目してください。これは、一つの値という意味ではスカラー変数ですから、(これはCとは違いますが)当然、添え字の値を与えなければなりません。
配列に値を代入する方法には様々なものがあります。前に見たのは配列に値を代入する方法ですが、変数や他の配列の値などを使って配列に値を代入することもできます。
name=($firstname,@lastname)です。
say=('Hesaid',@saysomething) とします。
SLICEの例です。
@weekend=@weekdays[0,6];# The value of the array weekend is ('Sun','Sat')
print(@weekdays[1..5,0,6]);#output result is 'MonTueWedThuFriSunSat'
Perlは、配列の最後のインデックス値を返すために使用する$#varという特別な器官もサポートしています。例えば、次の文は、$[organ]を使って配列の最初のインデックス値を決定し、$#varを使って配列の最後のインデックス値を決定し、配列全体を表現しています。
for($i=$[;$i<=$#buffer;$i++){print$buffer[$i];}.
上記の文は、print@buffer;と同じ出力を生成します。
1.2.3 Perl 構文におけるスカラー変数と配列変数
表演算子(,)は、連番演算子(,)と非常によく似ています。したがって、Perlがどちらの演算子を適用するかは、実行時のコマンドファイルの詳細な環境、つまり配列とスカラ値のどちらを使用しているかに依存します。次の2つの式について考えてみてください。
@an_array=(1,2,3,4,5);
$a_scalar=(1,2,3,4,5);
最初の文は配列を初期化し、2番目の文は変数$a_scalarの値を5に設定し、最初の4つの要素の割り当てをなくしています。
の値を指定します。
別の例をご覧ください。
print$assoc{1,2};
@print$assoc{1,2};
最初の文は2次元の連想配列の1つの要素の値を表示し、2番目の文は1次元の配列の2つの要素の値を表示します。
1.2.4 連想配列変数のためのPerl構文
関係配列変数は、スカラー変数のテーブルを格納できるという点で、配列変数と非常によく似ています。違いは、配列変数は整数の添え字で配列の要素を参照しなければならないのに対し、 連想配列変数は任意の値を添え字として配列の要素を参照できることです。連想配列の添え字は、キー値(Key)と呼ばれ、インデックス値となります。以下はそれを理解するための例です。
$ages{'Bob'}=35;
$ages{'Mary'}=25;
$,='';
print@ages{'Bob','Mary'};
printkeys(%ages);
for$name(keys(%ages))
{
print"$nameis$ages{$keys}\n";
}
Perlは、今後のprint文の出力に影響が出るように、変数'$,'に値を代入していますが、今後、特殊変数'$,'を取り上げることにします。
ages{'Bob','Mary'} は括弧内のキーを与え、要素への参照を意味し、このステートメントは2つのキー値を持ち、配列の一部への参照を意味します。
printkeys(%ages) は、keys 演算子を使用しています。その結果、連想配列のすべてのキーが返され、表が形成されます。ages は、連想配列全体への参照を意味します。
ラウンドロビンのprint文に注目してください。ここでは、""(ダブルクォート)で変数を挿入する使い方が見られますが、これは長期的にも短期的にも非常に効果的です。出力結果では、変数が最終的に変数の値で置き換えられることになり、これを補間といいます。しかし、Perlでは、''(シングルクォート)の中に変数を挿入することはできません !!!
関連
-
Visual studio 2019 初心者向けサードパーティライブラリ追加チュートリアル(入門編)
-
JSONデータを扱うASP実装コード
-
asp バッチの追加・変更・削除操作のサンプルコード
-
asp は整数の mod を受け取り、小数点以下がある場合は自動的に 1 を加算します。
-
aspで文字列を数値に変換する関数のまとめ
-
asp createTextFileはutf8をサポートしたテキストファイルを生成します。
-
ASPでは、.NETのStringオブジェクトと同様に、文字部分に対してPadLeftとPadRightの関数が実装されています。
-
ASPメッセージプロンプト機能およびリターンまたはターン
-
スペースがセパレータである場合の perl qw 問題の解決法
-
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 実装 サイバーパンク風ボタン