[問題] can't use string as an array ref

作者: jacky1989   2022-07-15 21:11:36
as title
我有一個檔案是這樣的
file:
@fruit: apple banana
@area: area1 area2 area3
我的程式這樣寫
use strict;
my @fruit;
my @area;
open fid,”<file”;
while(<fid>){
if($_ =~ /^\s*(\S*?)\s*:\s*(.*)$/){
@$1=split(‘\s+’,$2);
next;
}
}
已經先以perl -c確認過語法沒問題
但在執行時,顯示
can't use string as an array ref while strict refs in use
我是不是哪邊沒注意到?
因為這個用法我以前有用過,確定能用
我有嘗試拿掉strict,array一樣是empty
所以來請教一下各路高手,這該怎麼寫才正確
先謝謝了
作者: lgen7604   2022-07-19 09:09:00
問題是@$ 用hash應該可解 $hash{$1}=split('\s+',$2);

Links booklink

Contact Us: admin [ a t ] ucptt.com