以下のperlスクリプトで、どちらも私には同じ結果をもたらすものだと
予想していたのですが、出力結果が異なってしまいます。
なぜ script1 ではエラーなしで動作するのに、script 2では
エラーが出るのでしょうか。
$$xx が d になり、 $$yy が ARRAY(0x180c460) となる理由も
わかりません。
稚拙な質問で申し訳ありませんが、どなたかよろしくお願いしますm(_ _)m
## script 1 とします。
my $xx = \qw(a b c d);
print "$$xx \n"; # d と出力される
print "xx is $$xx \n"; # xx is d と出力。
## script 2 とします。
my @array = qw(a b c d);
my $yy = \@array;
print "$yy \n"; # ARRAY(0x180c460) と出力される。
print "yy is $$yy \n"; # Not a SCALAR reference at tryme.pl line 11. とエラーになる。
No.4
- 回答日時:
ああ, (\'a' \'b' \'c' \'d') はもちろん (\'a', \'b', \'c', \'d') です. これがさ
No.1
- 回答日時:
>$$yy が ARRAY
なってませんけどー
script 1の$$xxは$xxの間違いですか
この回答への補足
申し訳ありません。
訂正させてください。 $$xx は $xxの間違いでした。
もう一度、以下に質問を書き直させてください。
本当にすいません。
## script 1 とします。
my $xx = \qw(a b c d);
print "$xx \n"; # SCALAR(0x1801180) と出力される。
print "xx is $$xx \n"; # xx is d と出力。
## script 2 とします。
my @array = qw(a b c d);
my $yy = \@array;
print "$yy \n"; # ARRAY(0x180c460) と出力される。
print "yy is $$yy \n"; # Not a SCALAR reference at tryme.pl line 11. とエラーになる。
$xx と $yy が異なる理由と、$$xx と$$yy が異なる理由が
いまいちわかりません。。
片方はスカラー、片方はアレイ扱いになっているようですが。。
どう解釈すればよいのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 年数計算 3 2023/01/28 10:52
- 数学 5組のデータ (xx,yy) = (1.0 , 1.1), (2.0 , 1.0), (3.0 , 2 2023/01/09 16:52
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Yahoo!メール yahooメール使用できなくなった。 1 2022/07/05 11:45
- その他(住宅・住まい) 冬の札幌の暖房器具 4 2022/10/18 07:22
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sprintfで10進数を桁数指定で16...
-
awkスクリプトでダブルクォーテ...
-
ファイル出力の改行コードをLFに
-
教えて!perlから.exeファイル...
-
Perl中で teeを使っても戻り値...
-
DOSコマンドで、標準出力を出力...
-
Perlでファイルの末尾から指定...
-
C言語で特定の行を抽出する方法...
-
fgets で値が取得できない
-
空白文字 \\f と\\v の違いに...
-
perlで、後ろの行を読んで、前...
-
VBAのFileFormatで悩んでいるこ...
-
Perlで他サイトの情報を取得し...
-
ifstream を利用した1行分のテ...
-
VBAコードを張り付け後のエクセ...
-
perl で googleAPIを呼び出す...
-
1行がやたら長いテキストをバッ...
-
Windowsで複数のファイルを同じ...
-
全角と半角文字が混在している...
-
CSVファイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
DOSコマンドで、標準出力を出力...
-
重複するデータを抽出できる秀...
-
Perlでファイルの末尾から指定...
-
sprintfについて
-
[Perl]ファイル出力のエンコー...
-
エクセルVBAで素数だけを出力す...
-
文字コードの変換(Shift-JISか...
-
テキストファイルから日本語部...
-
sprintfで10進数を桁数指定で16...
-
ファイル出力の改行コードをLFに
-
Perlからsyslog経由でログを出...
-
PerlからのCSV出力
-
perlでcsvの出力について
-
教えて!perlから.exeファイル...
-
バッチファイルで、記号を含む...
-
perl CGIでのhttpヘッダー出力...
-
print文で&(半角)文字のエラー...
-
Perlでエラーログに日時をつける
-
紙にもホームページにも同じレ...
おすすめ情報