1. ホーム
  2. perl

[解決済み] Perlで "my "キーワードはどのように使うべきですか?

2023-01-09 16:55:43

質問

ネット上のPerlスクリプトの例で、変数名の前に"my"というキーワードをよく見かけるのですが、どういう意味なのかさっぱりわかりません。 マニュアルのページや他のサイトも読んでみましたが、私が見た使い方とマニュアルの違いに、それが何のためにあるのか判別するのが困難です。

例えば、この記事で配列の長さを取得するために使われています。 Perl で配列のサイズを調べる

でも、マニュアルによると

my は、リストされた変数が、ブロック、ファイル、または eval に対して局所的(語彙的)であることを宣言しています。 囲むブロック、ファイル、またはevalのローカル変数であることを宣言します。複数の値がリストされている場合、そのリストは を括弧でくくらなければなりません。

何をするもので、どのように使われるのですか?

どのように解決するのですか?

my を制限しています。 スコープ を制限します。変数のスコープとは、その変数が見える範囲のことである。変数のスコープを必要な場所に縮小することは、優れたプログラミングの基本的な側面です。これにより、コードがより読みやすくなり、エラーが起こりにくくなり、結果として多くの派生的な利点が得られます。

を使用して変数を宣言しない場合 my を使って宣言しなかった場合、代わりにグローバル変数が作成されます。これは避けなければなりません。使用方法 use strict; を使うと、暗黙のうちにグローバル変数が作られないようにしたいことを Perl に伝えることができます。 use strict; (そして use warnings; を使うことができます。


関連する読み物 なぜ use strict;use warnings; ?