Perlには多くの異なるリテラルがあります
123
、、、123.0
のよう1.23e2
な数字0x7b
- 文字列リテラル、、、、
"abc"
… </ li
'abc'
>q/abc/
- ベアワード
- ベアワードは、パラメータリストのない関数呼び出しのように見えます
- 特別な場所では、これは厳格な状況下でも問題ありません。
Foo::Bar->new()
- なし
strict 'refs'
の場合、サブを意味しないベアワードは文字列として扱われます。
- ファットコンマのLHS
=>
は常に自動引用されます
- ファイルテスト演算子でない限り、先頭にマイナスが付いたベアワードは常に文字列です。
-abc eq "-abc"
- V文字列(ベクトルまたはバージョンのV)。
v1.2.3
V文字列は、ピリオドで区切られた一連の数字で構成されます。それぞれの数字は対応する文字に変換されます。文字列なので、、などと比較できlt
ますgt
。
たとえば、IPアドレスやバージョン番号に適しています。数字が小さいと印刷できない文字を意味するため、印刷には適していません。
$ perl -E'say v49.50.51'
123
物語の教訓は?常にuse strict; use warnings;
、そして多分qw//
引用演算子を調べてください:
my $variables_array = [[qw/u1 answer1 Uvalue/], [qw/v1 u2 v2 answer2 Vvalue/]];
# or verbose:
my $variables_array = [['u1', 'answer1', 'Uvalue'], ['v1', 'u2', 'v2', 'answer2', 'Vvalue']];
(qw
補間せず、任意の空白で文字列を分割し、文字列のリストと同じです)