トップページ⇒hp
5コメント1KB

サブルーチンへの引数の渡し方

■ このスレッドは過去ログ倉庫に格納されています
0001Cに溺れた男NGNG
package chenge;
sub chenge1 {
  local($s)=@_;
  $s =~ s/aaaa/xxxx/g;
  $s =~ s/bbbb/yyyy/g;
  $s =~ s/cccc/zzzz/g;
return "$s";
}
1;

という文字列を置換するサブルーチンをrequireして、
    $value = &chenge'chenge1($value);
と使っているのですが、これを
    &chenge'chenge1(*value);
という書き方に変えることは可能でしょうか?
可能であれば、どのように手を加えればよいかお教えください。
0002ワイNGNG
package chenge;
sub chenge1 {
  local(*s)=@_;
  $s =~ s/aaaa/xxxx/g;
  $s =~ s/bbbb/yyyy/g;
  $s =~ s/cccc/zzzz/g;
# return "$s";
}
1;

…で、いいと思います。多分。
0003ぽNGNG
chEnge ? chAnge だと思う...

sub change1 {
my($sRef) = @_;
$$sRef =~ s/aaaa/xxxx/g;
$$sRef;
}

&change::change1(\$value);

なんてのは どーでしょ?
0004Cに溺れた男NGNG
>2さん、3さん
ご回答ありがとうございました。
3さんの\$、$$という表現は初めて見ました。
改めて勉強したいと思います。

> chEnge ? chAnge だと思う...

その通りです(汗)。
0005>1NGNG
末尾の 1; は必要なものなのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています