massa's post made me think about my script. I wonder why I got stuck to the idea to let an extra subroutine do the replacement... and why I forgot everything about character classes...
Here's an updated version of my script without an extra subroutine. All work is done by the regex. And the DNA data is now read from a file (so if your system has enough memory this might hopefully work for you).
#!/usr/bin/perl use strict; use warnings; my $file = shift @ARGV; die "no dna file specified!\n" if !defined $file; open my $fh, '<', $file or die "$file: $!\n"; my $data = do { local $/; <$fh> }; close $fh; $data =~ s/n([nN\n]+)n/^$1^/gm; print $data, "\n"; __END__
In reply to Re^2: replace fist and last occurrences of N
by linuxer
in thread replace fist and last occurrences of N
by ini2005
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |