perlのリテラル使用例を示すよ。簡単OK!

perl

perlのリテラルは、ちょっとしゃれています。

perlのリテラル

perlのリテラルは、下記の種類に分類できます。

  • 数値リテラル
  • 文字列リテラル
  • 配列リテラル
  • 連想配列リテラル
  • ファイルハンドル
  • グロブ
  • ヒアドキュメント
  • 特殊トークン

数値リテラル

整数は、数字文字を並べて指定します。

例)123

perl -e '
$a=123;
$b=456;
print $a+$b;
'
579

数値は、アンダーバーで区切って見やすくできます。

例)1_234_567

perl -e 'print 1_234'
1234

0xのプリフィックスを使って16進数の整数指定ができます。

例)0xff

perl -e 'print 0xff'
255

0で始まる整数は、8進数とみなされます。

例)0377

perl -e 'print 011'
9

ピリオド(小数点)を使って浮動小数点表示の数値を表します。

例)123.4

指数表示には、Eを使います。

例1.23E-10

perl -e 'print 1/1.23E-10'
8130081300.81301

文字列

文字列は、シングルクオーテーションでくくります。

例) ’abc’

q/…/で指定することもできます。

例) q/abc/

perl -e 'print q/abc/'
abc

ダブルクオーテーションでくくることでも指定できますが、変数展開、エスケープ処理が行われます。

例)”abc${x}def”

perl -e '$a="abcde"; print "xx${a}xx"'
xxabcdexx

バッククオートでコマンドの実行結果を展開します。

例) `dir`

perl -e 'print `echo "abc"`'
abc

qx/…/形式でコマンドの実行結果を文字列リテラルとできます。

例) qx/dir/

perl -e 'print qx/echo "abc"/'
abc

配列

配列は、括弧()で指定します。

例) (1,2,3)

$ perl -e '@a=(10,11,12);print @a[2]'
12

連続する数値も指定できます。

例) (1..4)は、(1,2,3,4)と同じ意味です。

perl -e '@a=(10..14);print @a'
1011121314

連想配列(ハッシュ)

下記のようにキーと値を交互に指定した配列形式で指定します。

(key1,val1,key2,val2,key3,val3,…)

例)%var=(K1,V1,K2,V2,K3,V3)

perl -e '%a=(k10,11,k20,21,k30,31);print $a{k20}'
21

連想配列は、キーと値を=>でつないで配列指定します。

例)(a=>1,b=>2,c=>3)

perl -e '%a=(k10=>11,k20=>21,k30=>31);print $a{k20}'
21

配列変数全体は、@vのように@記号で指定します。

キーと値を交互に指定した配列でもできます。

例)%var=(K1,V1,K2,V2,K3,V3)

ファイルハンドル

  • <STDIN> : 標準入力
  • <STDOUT> : 標準出力
  • <STDERR> : 標準エラー出力
  • <ARGV> : 引数
  • <DATA> : __DATA__の読み込み
  • <HANDLE> : ユーザ定義
  • <$VAR> : ユーザ定義
  • <> : @ARGVで指定されたファイル名のストリーム。指定がない時には標準入力。

グロブ

<PATTERN>:PATTERNの指定にマッチするファイル名

<${VAR}>:パターンを変数で指定する場合。

ヒアドキュメント

<<IDENTIFIER

区切り記号をIDENTIFIER部分で指定する。

例) <<START

特殊トークン

  • __FILE__ : 処理しているファイル名を示す。
  • __LINE__ : 処理している行番号を示す。
  • __END__ : プログラムの終了を表す。
  • __DATA__ : データセクションの開始(__END__と同じ)

コメント

タイトルとURLをコピーしました