![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
perlについて学習中で、現在フリーのスクリプトを見て勉強しております。
中括弧の使い方を教えて欲しいです。
sub test { print"OK"; }
if ($test>1) { print"OK"; }else{ print"NG";}
上記のようにサブルーチンやif文での使い方は分かるのですが、フリーのスクリプトの中に単に中括弧を使用している部分がありました。
例)
{ ←この括弧
my(@new);
for(0..3){if($tmp[$_]=~/jpg/){push(@new,$tmp[$_]);}}
}
矢印の部分の部分の括弧ですが、これはどのような意味があるのでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
レキシカルスコープと呼ばれるものを作るためです。
Perl では { } で囲まれた範囲(ブロック)にレキシカルスコープと呼ばれるものができます。
レキシカルスコープ内で my を付けて宣言さた変数(@new)はそのブロック終了後(対応する } より後ろ)は使えなくなり、間違えて同名の変数(@new)を再使用してしまう間違いを犯しにくくなります。
空のブロックでなくても、sub{}、if{}、foreach(){} など、さまざまなブロックでレキシカルスコープは作成されます。
「Perl スコープ」で検索されるといろいろ発見があると思います。
回答ありがとうございます。
とても詳しく説明いただき、感謝いたします。
今まで{}はいつもsubやifがあったので、それがない場合の意味が不明でしたが、これでようやく理解出来ました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 参考書・因数分解の回答で 共通因数を括る時 「括弧の前」に括る場合と 「括弧の後」に括る場合と別れま 1 2023/01/31 13:52
- Excel(エクセル) エクセルの数式で添付写真のものを入力していてわからないのですが、こちらの通り[]括弧も入れて入力しま 4 2023/02/05 18:33
- Word(ワード) Word文書で1,2,3...になっている脚注を、一括で(1),(2),...といった括弧つきに変更 2 2023/03/03 21:27
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- 数学 数学(因数分解) なぜ①と②は括った共通因数を 括弧の後ろに置かないんでしょうか? ⑤は後ろに置いて 3 2023/01/28 12:01
- 数学 数学的帰納法 中括弧の前の・(掛ける)は省略してもOKですよね? 独特の質問で申し訳ございません 1 2023/04/11 17:53
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- 英語 After her accident, Lily went ()being stuck in the 2 2022/05/11 01:57
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- 数学 因数分解 (6x+y)(4a−3b) 6x+y(4a−3b) (6x+y)4a−3b と左右どちらか 3 2023/01/31 13:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
例外処理のフローチャートの記...
-
サブルーチンを認識しません。
-
モジュールとサブルーチン
-
ExcelVBA AddinでOnAction
-
Excel VBAで、ユーザーフォー...
-
”:”がいっぱいの文について。
-
ACCESSのVBAでPrivate Sub ~en...
-
FortranをCに書き直すにはどう...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 『Call』で呼び出す...
-
ユーザー定義関数に#NAME?が返...
-
VBAでoutlook365が起動しません。
-
VBAで別モジュールへの変数の受...
-
モジュールの最大数はいくつな...
-
ユーザーフォームに最小化・最...
-
VBでグローバル変数を宣言するには
-
'Range'メソッドは失敗しました
-
Excel VBAで、ユーザーフォーム...
-
エクセルVBAでシートモジュール...
-
Excelシート内セル記述の違いに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
例外処理のフローチャートの記...
-
Excel VBAで、ユーザーフォー...
-
モジュールとサブルーチン
-
”:”がいっぱいの文について。
-
オフコン(富士通Kシリーズ)...
-
ExcelVBA AddinでOnAction
-
ACCESSのVBAでPrivate Sub ~en...
-
Attempt to free unreferenced ...
-
VBAで2重のDoLoop関数から抜け...
-
COBOLで、Shellを起動するには?
-
GOSUB命令とは
-
サブルーチンを認識しません。
-
同じコンボボックス、リストボ...
-
Perlのスレッド?
-
サブルーチンを外部ファイルで...
-
配列と互換性のない型の要素に...
-
サブルーチンの中にサブルーチ...
-
初心者です。Perlではどんな時...
-
プログラミング Fortran
-
サブルーチンを使った再帰的な...
おすすめ情報