2011-09-23 48 views
3

我有一個字符串說 my $str = "Hello Hi Bye",我想提供這個字符串來切斷命令獲取字段。 任何人都可以請幫助我如何做到這一點?如何在Perl中給一個字符串作爲切入命令的輸入

這又如何?我其實是試圖做這樣的......我有一個數組:

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') 
相關問題