*namu*です。

WATANABE Hirofumi <eban / os.rim.or.jp> wrote:
> perl5.005以上ならqr//があるので、

  qr// ってのは知りませんでした。

>   %UNAME_PAT = ("BSD" => qr/(Free|Net|Open)BSD/i, "Linux" => qr/Linux/i);
> 
>   sub machinename {
>     my $uname = shift;
>     while (my ($name, $pattern) = each %UNAME_PAT) {
>       if ($uname =~ $pattern) {
> 	keys %UNAME_PAT;
>         return $name;
>       }
>     }
>     undef;
>   }
> 
>   machinename("freebsd"); #=> "BSD"
> 
> と逆襲を喰らいます。

  逆襲しつつも、 while の格好の中で代入する時に my を付けなければ成ら
なかったり、 7 行目で一見意味不明な記述をしなければ成らなかったりする
事に、疑問を感じるようになれば、寝返るのは時間の問題かも (^^)

----------
*namu*
(Yuji Asakawa)