![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Perlで参照のクリアで困っているのですが、以下のソースで正しくクリア方法はありますか?
use strict;
use warnings;
use Data::Dumper;
sub test {
my ($arrayref) = @_;
$$arrayref[2]{'A'}= 'aaaaa';
#$$arrayref = (); # Not a SCALAR reference at test_0042.pl line 10.
$arrayref = (); #←クリアしているが、Dumperするとクリアされていない
}
my @A = ();
print Dumper(@A);
print "\n";
test(\@A);
print Dumper(@A);
print "\n";
exit;
__END__
$VAR1 = undef;
$VAR2 = undef;
$VAR3 = {
'A' => 'aaaaa'
};
No.1ベストアンサー
- 回答日時:
> $arrayref = (); #←クリアしているが、Dumperするとクリアされていない
$arrayrefは「配列の参照」なのですから、それをクリアするのであれば
@$arrayref=();
ではないですか?
No.3
- 回答日時:
>$arrayref = ();
undef(@$arrayref);
-----------------
$arrayref は、test() 内に渡って来た参照値に過ぎず、
その値を変更しても、呼び出し元の @$arrayref (つまり @A)の
内容は不変です。
No.2
- 回答日時:
こんにちは、
>$arrayref = ();
リファレンスを格納した $arrayrefに空のリストを代入している事になってます。
@{$arrayref} = ();
こうしたらどうでしょう?
配列全体を指すリファレンスをデリファレンスするには、
そう書くしかないかもです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- TOEFL・TOEIC・英語検定 英語 文法 1 2023/02/27 14:01
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- Visual Basic(VBA) VBA リスト表示していますが 3 2023/05/18 12:12
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- CGI -T(汚染モード)でメールが送れません 1 2022/06/12 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlで参照のクリアの方法
-
画面を強制的に再描画させる方法
-
VBA Dir関数でファイルをループ...
-
JQueryのスライドショーを停止...
-
vb.netからエクセル関数書き込み
-
DOSコマンドのループ内のTIMEコ...
-
VBのReturnの使い方
-
Escキーを押すと、中断する時と...
-
エクセルVBAでTransposeの不思議
-
VBAのautofilter、criteriaの配...
-
perl 配列の要素数について
-
文字列を変数名として扱う方法
-
チェックボックスのperlでの値...
-
範囲指定したセルを1つずつ飛...
-
Excel VBA ユーザーフォームの...
-
まったく同じファイルのハッシ...
-
DoEventsが必要な理由について
-
ExcelVBA FindNextを使用して条...
-
隣同士の数字を足し合わせる
-
乱数の桁数指定、または範囲指定。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Can't use string ("0") as an ...
-
明示的なオブジェクトの削除
-
サンプルの意味
-
レキシカル変数について
-
Perlスクリプト (); wantarry...
-
perlについて
-
Perlで参照のクリアの方法
-
引数に配列かスカラーかどちら...
-
配列変数に格納の仕方
-
Perlの戻り値について
-
Perl ハッシュの値のリストをス...
-
CからPerlへの変換がうまくいき...
-
perlの引数が不安定になります。
-
配列について
-
配列のコピー及び printの .と,...
-
perlのプログラムでエラーが出...
-
プログラムが解読できません…
-
perlの比較、ループの使い方に...
-
配列へのリファレンスへのリフ...
-
PerlでCSV形式のファイルの一部...
おすすめ情報