Apart from what Laurent_R mentioned, this latest version won't tell you anything about what sort of unexpected stuff is showing up in the data (my version will do that). Maybe that's not important to you in this particular process, but when I have to work with defective or unreliable input, I find that it's very helpful to be able to see what's wrong with the data.
BTW, in case my last reply wasn't clear, here's what I was talking about:
#!/usr/bin/perl
use strict;
use warnings;
$/ = undef; # slurp-mode for input, just in case
while ( <> ) { # reads stdin or all file names in ARGV
s/\s+//g; # remove whitespace
my $content = $_; # keep a working copy
tr/ACGTacgt//d; # remove all acgt
if ( length() ) { # anything left?
print "$ARGV bad content: $_\n";
do_something_with_bad_data( $ARGV, $content );
} else {
print "$ARGV all clean!\n";
do_something_with_good_data( $ARGV, $content );
}
}
sub do_something_with_bad_data
{
my ( $filename, $data ) = @_;
# . . . fix it? report it to someone?
}
sub do_something_with_good_data
{
my ( $filename, $data ) = @_;
# . . . whatever you want to do
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|