[PHP-users 6378] Re: Perlから PHP の移植で@_が分かりません。
clam
php-users@php.gr.jp
Thu, 21 Mar 2002 00:42:41 +0900
お世話になりますclamです。
>
>PHPとperlでのユーザ定義関数の宣言で、引数の渡し方の違いに着目すると、
>理解しやすいのでは?
>
>・PHPの場合
> function foo ( $a, $b, $c, $d ) { ..... }
>
>・Perlの場合
> sub foo {
> ( $a, $b, $c, $d ) = @_;
> }
>
>これ以上の説明は、PHPではなくPerlの話になりますので、このMLではやめとき
>ます。
>
>
ありがとうございました、なんとなく感じがわかりました。
それからすみませんでした、前後のprint文をコメントアウト
するのを、忘れていた為
$ip_addressが変化する等と勝手に自分で納得したため
結果質問のないようが混乱していました。
print "$ip_address"; #1
my($ip_address) = @_;
print "$ip_address"; #2
としても#2のIPアドレスしか表示されませんでした。
でもこれで私自身の疑問の整理が明確になりました。
なぜ
my($ip_address) = @_;
とするとローカル変数$ip_addressにIPアドレスがセット
されるのでしょうか、と聞きたいところですがこの質問
では、PHPと関係ないので他で調べます。
小泉さんの
Perlの場合
sub foo {
( $a, $b, $c, $d ) = @_;
}
が有効なヒントになりそうです
ありがとうございました。