[問題] 純量變數和陣列完全比對問題

看板Perl作者 (小那)時間14年前 (2010/10/05 23:27), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/2 (看更多)
大家好 我又卡關了 上一個問題我解決了 這次又有新的問題 Perl 沒有我想像中的簡單 QQ |||orz 我想把 $result[2] 跟 @lines 作完全比對,完全正確,一字不差,要算true 這是我的網頁 http://140.116.39.115/cgi-bin/ans.pl 明明看起來兩的都一樣,可是程式卻判別不出來 我節錄一段我的程式 我再想是不是 $result[2]為一純量變數 要轉成陣列 還是 @lines 是陣列要轉成純量變數之後,她們才可以作比較??? 我的想法對嗎 ??? while (@result = $sth->fetchrow_array) { print $result[2]; #純量變數 print length($result[2]); open(INFO, $file); my @lines = <INFO>; close(INFO); print @lines; print length(@lines); if (@lines eq 'I/PRP am/VBP from/IN Taiwan/NNP ./.') {print "1";} else {print "0";} if ($result[2] eq 'I/PRP am/VBP from/IN Taiwan/NNP ./.') {print "3";} else {print "4";} if ($result[2] eq @lines) {print "5";} else {print "6";} }#end of while 感謝曾經幫過我寫Perl的人,等我變強,我也會來這個版回饋‵‵ 3Q~~Q皿Q -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.140.22.207

10/06 01:09, , 1F
用迴圈把@lines裡的東西一個一個弄出來比對才行。
10/06 01:09, 1F

10/06 01:14, , 2F
是喔~~
10/06 01:14, 2F

10/06 01:29, , 3F
我開始覺得我選擇Perl作自然語言處理好難喔
10/06 01:29, 3F

10/06 02:22, , 4F
@lines是串列裡面有很多筆資料 $result[2]就跟$a一樣是純量
10/06 02:22, 4F

10/06 02:23, , 5F
不能拿串列跟純量做比較 要先將串列轉成純量
10/06 02:23, 5F

10/06 02:26, , 6F
$a = join('', @lines); 這樣就可以拿$a跟$result[2]比較
10/06 02:26, 6F

10/06 02:28, , 7F
剛開始光是 $ @ % 就暈頭轉向了.. 熟悉之後就沒問題啦
10/06 02:28, 7F

10/06 08:56, , 8F
$result[2] eq $_ && print '5' for @lines; 這樣?
10/06 08:56, 8F
文章代碼(AID): #1CgqFQV9 (Perl)
文章代碼(AID): #1CgqFQV9 (Perl)