use strict; use warnings; open my $seqFH, q{<}, \ <<'EOD' or die qq{open: << HEREDOC: $!\n}; CAGTTTCGATCGAATC ATTATTGGATCCGCAT GCGTCAGGATCCAATC EOD my $sequence = join q{}, map { chomp; $_ } <$seqFH>; close $seqFH or die qq{close: << HEREDOC: $!\n}; print qq{Sequence:\n $sequence\n}; my $enzymeSeq = q{GGATCC}; my $rxSplitBefore = qr{(?=$enzymeSeq)}; my $rxSplitAfter = qr{(?<=$enzymeSeq)}; print qq{Splitting before $enzymeSeq\n}; my @chunksBefore = split m{$rxSplitBefore}, $sequence; print qq{ $_\n} for @chunksBefore; print qq{Splitting after $enzymeSeq\n}; my @chunksAfter = split m{$rxSplitAfter}, $sequence; print qq{ $_\n} for @chunksAfter;
The output.
Sequence: CAGTTTCGATCGAATCATTATTGGATCCGCATGCGTCAGGATCCAATC Splitting before GGATCC CAGTTTCGATCGAATCATTATT GGATCCGCATGCGTCA GGATCCAATC Splitting after GGATCC CAGTTTCGATCGAATCATTATTGGATCC GCATGCGTCAGGATCC AATC
I hope I have guessed correctly and this is of some use.
Cheers,
JohnGG
Update: Corrected die text.
In reply to Re: splitting a string
by johngg
in thread splitting a string
by rkenshin09
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |