「perl/output」の編集履歴(バックアップ)一覧はこちら
「perl/output」(2011/07/17 (日) 17:36:46) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*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ドキュメント
終了文字の書き方で中の動き方が違う。
+ 普通に書くと、変数が使える。
+ ''で囲まれてると、変数が使えない。
+ 何もなしだと空行まで。
+ x N で空行まで繰り返し。
+ ``でくくると、中身はすべてUnixコマンド。