亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 求助:格式化輸出,像map函數(shù)那樣. [打印本頁]

作者: ZR_Linux    時間: 2015-06-12 21:28
標題: 求助:格式化輸出,像map函數(shù)那樣.
有個數(shù)組:

i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20

分成若干組,比如5組吧.
希望格式化成:

i1  i6   i11  i16
i2  i7   i12  i17
i3  i8   i13  i18
i4  i9   i14  i19
i5  i10 i15  i20


作者: kk861123    時間: 2015-06-12 21:46
  1. #!/usr/bin/perl
  2. use strict;
  3. use Data::Dumper;
  4. use List::MoreUtils qw(part);

  5. my @array = split /\s+/, 'i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20';

  6. my $i = 0;
  7. my @new = part { $i++ % 5 } @array;
  8. print Dumper \@new;
復制代碼

作者: ZR_Linux    時間: 2015-06-13 11:06
回復 2# kk861123


    root@localhost ~$ ./a.pl              
$VAR1 = [
          [
            'i1',
            'i6',
            'i11',
            'i16'
          ],
          [
            'i2',
            'i7',
            'i12',
            'i17'
          ],
          [
            'i3',
            'i8',
            'i13',
            'i18'
          ],
          [
            'i4',
            'i9',
            'i14',
            'i19'
          ],
          [
            'i5',
            'i10',
            'i15',
            'i20'
          ]
        ];


大神,麻煩再優(yōu)化一下吧:
這樣看著別扭啊
作者: kk861123    時間: 2015-06-14 15:07
FYI...
  1. #!/usr/bin/perl
  2. use strict;
  3. use Data::Dumper;
  4. use List::MoreUtils qw(part);

  5. my @array = split /\s+/, 'i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20';

  6. my $i = 0;
  7. my @new = part { $i++ % 5 } @array;
  8. #print Dumper \@new;
  9. print "@$_\n" for @new;
復制代碼

作者: ZR_Linux    時間: 2015-06-15 10:29
回復 4# kk861123


    好棒..好膜拜
作者: ZR_Linux    時間: 2015-06-17 11:01
回復 4# kk861123


    呃,請問,能幫忙改寫一下array帶參數(shù)的形式嗎?


我想i1..i99
a1..a99
就是可以join一下。謝謝了。。。
作者: kk861123    時間: 2015-06-24 10:17
回復 6# ZR_Linux


    不理解...
作者: reb00t    時間: 2015-06-24 10:51
  1. awk -vn=5 '{t=split($0,a,/\s+/);for(i=1;i<=n;i++){m=i;while(m<=t){printf a[m]" ";m=m+n};print " "}}'<<<'i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20'
  2. i1 i6 i11 i16  
  3. i2 i7 i12 i17  
  4. i3 i8 i13 i18  
  5. i4 i9 i14 i19  
  6. i5 i10 i15 i20  
復制代碼

作者: sunzhiguolu    時間: 2016-09-15 09:33
  1. perl -e '@aData = qw /i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20/;foreach my $pos(0..@aData/5){print "$_ " for map {$pos + $_ * 5} 0..3;print"\n"}'
復制代碼





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2