裸のブロック制御構造

裸のブロックとは、キーワードも条件も付いていないブロックのこと。これを使うことで、レキシカル変数のスコープを限定できる。

#!/usr/bin/perl -w
use strict;
my $n = "外です。";
{
    my($n, $root); # このブロックの中だけで有効
    print "数字を入力してください。\n";
    chomp ($n = <STDIN>);
    $root = sqrt $n;
    print "$nの平方根は$rootです。\n";
}
print "$n\n";
数字を入力してください。
45
45の平方根は6.70820393249937です。
外です。