- 论坛徽章:
- 2
|
代码一,- #!/usr/bin/env perl
- use strict;
- use Data::Dumper;
- my $id;
- my @wd; ###
- while(<DATA>){
- if(/>/){
- print $_;
- my $next=<DATA>;
- chomp($next);
- print $next,"\n";
- $next=~m{(.{10})(?{push @wd,$1;})(?!)};
- print Dumper \@wd;
- undef @wd;
- }
- }
- __DATA__
- >ID
- ACTCGATTTCTTGAATTTAT
- >ID
- ACTCGATTTCTTGAA
- >ID
- ACTCGATTTCTTGAATT
- #运行输出
- >ID
- ACTCGATTTCTTGAATTTAT
- $VAR1 = [
- 'ACTCGATTTC',
- 'CTCGATTTCT',
- 'TCGATTTCTT',
- 'CGATTTCTTG',
- 'GATTTCTTGA',
- 'ATTTCTTGAA',
- 'TTTCTTGAAT',
- 'TTCTTGAATT',
- 'TCTTGAATTT',
- 'CTTGAATTTA',
- 'TTGAATTTAT',
- ' 'TGAATTTAT
- ];
- >ID
- ACTCGATTTCTTGAA
- $VAR1 = [
- 'ACTCGATTTC',
- 'CTCGATTTCT',
- 'TCGATTTCTT',
- 'CGATTTCTTG',
- 'GATTTCTTGA',
- 'ATTTCTTGAA',
- ' 'TTTCTTGAA
- ];
- >ID
- ACTCGATTTCTTGAATT
- $VAR1 = [
- 'ACTCGATTTC',
- 'CTCGATTTCT',
- 'TCGATTTCTT',
- 'CGATTTCTTG',
- 'GATTTCTTGA',
- 'ATTTCTTGAA',
- 'TTTCTTGAAT',
- 'TTCTTGAATT'
- ];
复制代码 代码2,
- #!/usr/bin/env perl
- use strict;
- use Data::Dumper;
- my $id;
- while(<DATA>){
- if(/>/){
- print $_;
- my $next=<DATA>;
- chomp($next);
- my @wd; ###
- print $next,"\n";
- $next=~m{(.{10})(?{push @wd,$1;})(?!)};
- print Dumper \@wd;
- undef @wd;
- }
- }
- __DATA__
- >ID
- ACTCGATTTCTTGAATTTAT
- >ID
- ACTCGATTTCTTGAA
- >ID
- ACTCGATTTCTTGAATT
- #运行输出:
- >ID
- ACTCGATTTCTTGAATTTAT
- $VAR1 = [
- 'ACTCGATTTC',
- 'CTCGATTTCT',
- 'TCGATTTCTT',
- 'CGATTTCTTG',
- 'GATTTCTTGA',
- 'ATTTCTTGAA',
- 'TTTCTTGAAT',
- 'TTCTTGAATT',
- 'TCTTGAATTT',
- 'CTTGAATTTA',
- 'TTGAATTTAT',
- ' 'TGAATTTAT
- ];
- >ID
- ACTCGATTTCTTGAA
- $VAR1 = [];
- >ID
- ACTCGATTTCTTGAATT
- $VAR1 = [];
复制代码 上面的代码1和2的@wd这个数组变量,位置不一样,结果也不一样,不过按照我的理解是一样,没想明白,貌似和正则的(?{})有关系,求解释~ |
|