perl > output


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

print関数

コンソールに表示するための関数。

普通の使い方
スクリプト
print "Hello"", "World" , "\n";
出力
HelloWorld

"を使わなくてもこんな使い方もOK。
print STDOUT Hello, Workds, "\n";

文字列リテラル

\t タブ
\n 改行
\r 復帰
\f フォームフィード
\b バックスペース
\a アラーム
\e エスケープ
\033 8進数文字
\c[ 制御文字
\l 次の文字を小文字にする
\u 次の文字を大文字にする
\L \Eがくるまで後続の文字を小文字に変換する
\U \Eがくるまで後続の文字を大文字に変換する
\Q \Eがくるまで後続の文字の前に\があるもとして処理する
\E \Lまたは\Uで始まった大文字や小文字の変換を終了する
\\ バックスラッシュ
_LINE_ 現在の行番号を表す
_FILE_ 現在のファイル名を表す
_END_ スクリプトの終了

-wスイッチ

  • wスイッチは、将来予約語になる可能性がある語を使っている場合に、警告を出す。
公式がおすすめしている。

スクリプト
print STDOUT ellie, "\tHello!";
出力
$ perl -w sample.pl
Unquoted string "ellie" may clash with future reserved word at sample.pl line 3.
ellie   Hello!

printf関数

普通の使い方
printf("The name is %s and the number is %d\n", "John", 50);

フォーマット指定
c char
s String
d 10進数
ld Long
u 符号なし10進数
lu 符号なしLong
x 16進数
lx Long16進数
o 8進数
lo Long8進数
e 指数表記の小数
f floaating表記の小数
g eとfのスマートな表記

フォーマットは以下の修飾子と組み合わせることが可能。
- 左寄せで表す
# 8進数は0で始まり、16進数は0xで表すようにする
+ defgを使う変換で、+,-の符号をつける
0 余った部分を0でパディングする

hereドキュメント

終了文字の書き方で中の動き方が違う。
  1. 普通に書くと、変数が使える。
  2. ''で囲まれてると、変数が使えない。
  3. 何もなしだと空行まで。
  4. x N で空行まで繰り返し。
  5. ``でくくると、中身はすべてUnixコマンド。