2014-01-25 40 views
0

我是新來的perl。我知道我可以通過unpack或使用正則表達式分割一些恆定數量的字符。 但是有沒有一些標準的方法來分割每n個字符和新行?Perl分隔每n個字符和新行

這裏的字符串我在尋找分裂:

my $str="hello\nworld"; 
my $num_split_chars=2; 

回答

3

或許下面會有所幫助:

use strict; 
use warnings; 
use Data::Dumper; 

my $str    = "hello\nworld"; 
my $num_split_chars = 2; 
$num_split_chars--; 

my @arr = $str =~ /.{$num_split_chars}.?/g; 
print Dumper \@arr; 

輸出:

$VAR1 = [ 
      'he', 
      'll', 
      'o', 
      'wo', 
      'rl', 
      'd' 
     ]; 
+0

還包括Perl實際存儲整個正則表達式在內存中還是一些縮短的形式呢? – simonzack

+0

@simonzack - 你是指正則表達式的結果(數組)還是正則表達式本身?正則表達式在內存中。 – Kenosis

+0

正則表達式本身,我的意思是perl首先將它擴展爲一個大的'/? – simonzack