Hi, all. I have the following data from a file. __data from file IN__ SNP_A-1512608 23 148840899 0.828109 0.823391 11128 SNP_A-1512550 23 148841154 1.717397 1.750476 11129 SNP_A-1518843 23 149078514 0.832285 0.99744 11130 SNP_A-1507809 23 149080794 1.463225 1.463085 11131 SNP_A-1519263 23 149309465 0.990172 1.124282 11132 SNP_A-1512795 23 149514662 1.37836 1.51924 11133 SNP_A-1518711 23 149890944 1.541307 1.920374 11134 SNP_A-1517959 23 150083331 0.535966 0.942863 11135
While I trying to get a difference between column 4 and column5, I got the following error message: "Argument "STD" isn't numeric in subtraction (-) at cpdiffer.pl line 19, <IN> lin e 1. Argument "gli3ak" isn't numeric in subtraction (-) at cpdiffer.pl line 19, <IN> line 1." MY QUESTIONS IS: why perl treat the numeric value in column 4 as string and how to convert it? Thanks, AG Lee The code is as below: #!/bin/perl -w #use strict; use warnings; my $differ; open (IN, "C:/perl/work/data/cpdata.txt") or die ("Can not open cpdata.txt file! \n"); open (OUT, ">C:/perl/work/data/cpout.txt") or die ("Can not open cpout.txt file! \n"); while(my $line = <IN>) { chomp $line; my ($snp, $chro, $location, $gli3ak, $std, $rest) = split(/\t/, $line); #print $line; #print "$snp, $chro, $location, $gli3ak, $std, $rest\n"; $differ = $gli3ak-$std; if(($differ >= 2) || ($differ <= -1.5)) { print OUT "$snp\t$chro\t$location\t$gli3ak\t$std\t$rest\n"; } } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>