2010-06-03 16 views
7

निम्नलिखित पर्ल कोड में की भिन्नता सरणी, मैं एक सरणीपर्ल, संदर्भ

#!/usr/bin/perl 

use strict; 
use warnings; 

my @a=([1,2],[3,4]); 

my @b = @$a[0]; 

print $b[0]; 

लेकिन यह काम करने के लिए प्रतीत नहीं होता है अंदर एक सरणी संदर्भ को संदर्भित किए जाने की उम्मीद होती है। मैं इसे उत्पादन की उम्मीद करेंगे 1.

@a संदर्भ

@b की एक सरणी $a[1] dereferenced है (मुझे लगता है कि)

तो समस्या क्या है?

उत्तर

10

यह सामान मुश्किल है।

@$a[0](@$a)[0] के रूप में पार्स किया जाता है, (अपरिभाषित) अदिश $a

आप @{$a[0]} कहना चाहता अपसंदर्भन।

+0

पर्ल में इतने सारे quirks है कि मैं अभी भी उपयोग कर रहा हूँ। आपकी मदद के लिए धन्यवाद – Mike

+6

संदेह में, बस अधिक ब्रेसिज़ जोड़ें: डी – Ether

संबंधित मुद्दे