2011-09-23 4 views
3

나는 문자열이 my $str = "Hello Hi Bye"이라고 말하고,이 커맨드를 잘라내어 커맨드를 얻고 싶습니다. 아무도 도와 줄 수 있습니까?펄에서 커팅 명령을 입력으로 문자열을 입력하는 방법

그리고 이것에 대해서는 어떻습니까?

my @str = ("hello hi bye","hello hi you","abc def ghi","abc def jkl");

내가 처음 두 필드를 잘라 그 (것)들의 사이에서 독특한 하나를 얻을이 배열을 제공하고자 : 나는 실제로이 같은 일을하려고했다 ... 나는 배열을 가지고있다. 출력 추천 은 .. "hello hi""abc def"하고 여기가 2, 그 2 개 필드와 같은 특정 조합의 수를 받아야

+0

새 질문에 대한 대답이 업데이트되어 있습니다. – toolic

답변

4

split

use warnings; 
use strict; 

my $str = "Hello Hi Bye"; 
my @fields = split /\s+/, $str; 

업데이트 : 새로운 질문에 답변하십시오 ... "고유"하고 싶을 때마다 "해시"라고 생각하십시오.

use warnings; 
use strict; 
use Data::Dumper; 
$Data::Dumper::Sortkeys = 1; 

my %count; 
my @str = ("hello hi bye","hello hi you","abc def ghi","abc def jkl"); 
for (@str) { 
    my @flds = (split)[0..1]; 
    $count{"@flds"}++; 
} 
print Dumper(\%count); 

__END__ 

$VAR1 = { 
      'abc def' => 2, 
      'hello hi' => 2 
     }; 
1

split function 사용보십시오

my $str = "Hello Hi Bye"; 
my @fields = split(/\s+/, $str); # => ('Hello', 'Hi', 'Bye') 
관련 문제