2014-01-18 2 views
-1
[email protected]=qw(Larrywall); 

이것은 내 배열이지만 액세스는 Y 만 원합니다. 어떻게하는지 알려주세요. 좋은 해답이 상당 할 것입니다.배열의 각 요소에 액세스하는 방법 Perl

+1

이 질문은 'hello world'질문 유형이기 때문에 주제가 아닌 것 같습니다. –

+0

이것은 단일 요소 배열입니다. 요소는 문자열 "Larrywall"입니다. Perl에서 문자열은 배열이 아닌 스칼라입니다. 그리고 문자열에 'Y'문자가 없습니다 ('y'가 있음에도 불구하고). 귀하의 질문을 업데이트하여 귀하가하려는 일에 대해보다 명확하게 답변 해 주시기 바랍니다. –

답변

2

qw(Foo Bar)('Foo', 'Bar')과 동일합니다.

my @arr = qw(Larrywall)은 하나의 요소로 배열을 만듭니다. 당신이 당신의 문자열의 모든 문자를 반복하고 싶은 경우에, 당신은 문자로 분할 할 수 있습니다

my @arr = split //, "LarryWall"; 

// 부분은 당신이 당신의 문자열을 분할하려는 정규식입니다. 이 경우 항상 일치하는 빈 패턴을 사용하므로 기본적으로 모든 문자에 분할됩니다. 당신이 배열을 가지고 있고 그 문자로 각 요소를 분할 할 경우

, 당신은 이런 일을 할 수있는 :

my @arr = map { split //, $_ } qw(Larry Wall SomethingElse); 
#=> qw(L a r r y W a l l S o m e t h i n g E l s e) 

또는

my @arr = map { [split //, $_] } qw(Larry Wall SomethingElse); 
#=> ([qw(L a r r y)], [qw(W a l l)], [qw(S o m e t h i n g E l s e)]) 
배열의 유일한 요소에
1

사용 substr :

use strict; 
use warnings; 

my @arr = qw(Larrywall); 
print substr $arr[0], 4, 1; 

출력 :

y 
관련 문제