Perlのデータ型
Perlは弱く型付けされた言語であるため、変数の型を指定する必要は、Perlインタプリタは自動的にコンテキストに応じてマッチタイプを選択しません。
スカラー、配列、ハッシュ:Perlの3つの基本的なデータ型を持っています。 以下では、これらの3つのデータ・タイプの説明です。
いいえ。 | 種類と説明 |
---|---|
1 | スカラー量 スカラPerl言語は、データの最もシンプルなタイプです。 このデータ型の変数は、数値、文字列、浮動小数点数、厳格な区別をしていないことができます。 スカラーを示すために「$」で前に変数名を使用する場合。 例えば: $myfirst=123; #数字123 $mysecond="123"; #字符串123 |
2 | 配列 文字「@」冒頭に、ゼロからのインデックス、すなわち持つ配列変数:@ ARR =(1,2,3) @arr=(1,2,3) |
3 | ハッシュ ハッシュは順不同キー/値のペアです。 あなたは値を取得するには下付き文字としてキーを使用することができます。 先頭の文字「%」とハッシュ変数。 %h=('a'=>1,'b'=>2); |
数値リテラル
、int型
PERLファクト整数は、コンピュータの浮動小数点レジスタに格納されているので、実際には浮動小数点数とみなすこと。
ほとんどのコンピュータでは、浮動小数点レジスタは、これよりも長い約16番号が破棄される保存することができます。 浮動小数点例外に対する真の整数。
整数の変数と算術:
$x = 12345; if (1217 + 116 == 1333) { # 执行代码语句块 }
8進数と16進数には:8進数で0、16進数0xで始まります。 例えば:
$var1 = 047; # 等于十进制的39 $var2 = 0x1f; # 等于十进制的31
第二に、フロート
以下のような浮動小数点データ、:11.4、-0.3、0.3、3、+ 02 54.1e、5.41e03。
浮動小数点レジスタは、通常、正確に、浮動小数点の格納操作中にエラーが発生するとの比較に特別な注意を払っていません。 インデックス範囲は-309から308までが一般的です。 例えば:
#!/usr/bin/perl $value = 9.01e+21 + 0.01 - 9.01e+21; print ("第一个值为:", $value, "\n"); $value = 9.01e+21 - 9.01e+21 + 0.01; print ("第二个值为:", $value, "\n");
上記のプログラムは、出力は次のようになります。
第一个值为:0 第二个值为:0.01
第三に、文字列
Perlの文字列は、スカラーを用いて表現され、などの方法を定義しcは、ではなく0内部Perlで文字列での終了を示すために。
Perlの二重引用符と一重引用符の違い:単一引用符が出力として解析されることはありませんしながら、二重引用符は、通常は、エスケープ文字の変数のいくつかを解決することができます。
ただし、以下のように、複数行のテキストを定義するために単一引用符を使用することができます。
#!/usr/bin/perl $var='这是一个使用 多行字符串文本 的例子'; print($var);
上記のプログラムは、出力は次のようになります。
这是一个使用 多行字符串文本 的例子
一般的に次の表のエスケープ文字の一部で使用されたPerl言語:
エスケープ文字 | 意味 |
---|---|
\\ | バックスラッシュ |
\ ' | 単一引用符 |
\ " | 二重引用符 |
\ A | システムベル |
\ B | バックスペース |
\ F | 改ページ |
\ N | ラップ |
\ R | 入力します |
\ T | 水平タブ |
\ V | 垂直タブ |
\ 0NN | 進デジタルフォーマットを作成します。 |
\ XNN | 進数の書式を作成します。 |
\ CX | 制御文字、xは任意の文字を使用することができます |
\ U | 大文字に次の文字を強制 |
\ L | 小文字に次の文字を強制 |
\ U | すべての文字を大文字に強制的に |
\ L | 小文字にすべての文字を強制的に |
\ Q | 我々は、バックスラッシュ文字と非単語(非ワード)まで\ Eに移動します |
\ E | 終了の\ L、\ U、\ Q |
例
のは、単一および二重引用符の特定の使用を見て、文字をエスケープしてみましょう:
#!/usr/bin/perl # 换行 \n 位于双引号内,有效 $str = "本教程 \nwww.w3big.com"; print "$str\n"; # 换行 \n 位于单引号内,无效 $str = '本教程 \nwww.w3big.com'; print "$str\n"; # 只有 R 会转换为大写 $str = "\uw3big"; print "$str\n"; # 所有的字母都会转换为大写 $str = "\Uw3big"; print "$str\n"; # 指定部分会转换为大写 $str = "Welcome to \Uw3big\E.com!"; print "$str\n"; # 将到\E为止的非单词(non-word)字符加上反斜线 $str = "\QWelcome to w3big's family"; print "$str\n";
上記の出力の実装の例としては、次のとおりです。