1. ホーム
  2. perl

[解決済み] の記述はどういう意味ですか?

2022-02-07 02:16:15

質問

Perlで、このコードを実行すると。

print $a

の値は何も表示されません。 $a (あるいは特別でない他の変数)は undef .

しかし、このコードを実行すると

print $%

代わりにこうなる。

0

perldocのperlvarによると、次のような記述があります。 $% :

現在選択されている出力チャネルの現在のページ番号です。

よくわからないのですが。どのような出力チャンネルですか?STDOUTのようなもの、それとも他のもの?

解決方法は?

に関するものです。 Perlsフォーマット/レポート機能 これは、コード内で文字列の束を連結するのとは対照的に、最終製品のように見える画面形式のレイアウトを書くことができるものです。古い端末ベースのアプリに便利です。

Perldocによると $% 特に

現在選択されている出力チャネルの現在のページ番号です。

残りのページフォーマット変数が、おそらく何ができるかのヒントを与えてくれるでしょう。

$% - $FORMAT_PAGE_NUMBER

現在選択されている出力チャネルの現在のページ番号です。

$= - $FORMAT_LINES_PER_PAGE

現在選択されている出力チャネルの現在のページ長(印刷可能行数)。デフォルトは 60 です。

$- - $FORMAT_LINES_LEFT

現在選択されている出力チャネルのページに残っている行数です。

$~ - $FORMAT_NAME

現在選択されている出力チャンネルに対する現在のレポートフォーマットの名前です。デフォルトはファイルハンドルの名前です。