Hi,
I have only been learning Perl for less than 2 weeks. I am a C++ programmer.
I have attached a portion of the data below. The data is in file1.txt. I would like to move the data from file1.txt to file2.txt. But, I only want to keep the numbers.
Eg: I want row 1 to look like this:
1 1549367 11 8 3 11 0 -12.00 6.00 -0.25 -3.00 0.00 -1.67 -12.00 6.00 -0.64
Instead of this:
1 Chr26 1549367 11 GGGGGGGAAGA 8 3 Transition 11 0 -12.00 6.00 -0.25 -3.00 0.00 -1.67 -12.00 6.00 -0.64
This is what I have done so far (file1.txt will be in @ARGV):
The code above only copies content of file1.txt (ARGV) into file2.txt.
I tried to use ‘seek’ and ‘tell()’ but, to solve my problem above but, I got confused :(
I also tried this:
This puts every row in the array @the File. But, I can I now modify the elements of one row? (I’m still a novice Perl programmer)
Thank you for your help
/……………………………………… ……………………………………… ………../
The file portion
1 Chr26 1549367 11 GGGGGGGAAGA 8 3 Transition 11 0 -12.00 6.00 -0.25 -3.00 0.00 -1.67 -12.00 6.00 -0.64
1 Chr26 1549501 15 ccCctctccccctCC 12 3 Transition 3 12 -17.00 6.00 0.50 1.00 6.00 2.67 -17.00 6.00 0.93
1 Chr26 1549552 14 AagAAaaAAAagga 11 3 Transition 6 8 -31.00 6.00 -2.09 -12.00 3.00 -5.67 -31.00 6.00 -2.86
1 Chr26 1549563 14 tAAaaAAAattat^F t 9 5 Transversion 5 9 -7.00 6.00 0.22 -64.00 4.00 -18.40 -64.00 6.00 -6.43
1 Chr26 1549726 14 TtTtctTtTtTTTT 13 1 Transition 8 6 -3.00 6.00 1.92 6.00 6.00 6.00 -3.00 6.00 2.21
2 Chr26 1549737 16 T+1Atttt+1aT+1A t+1aTt+1aT+1AT+ 1AT+1AT+1AtT+1A ^FA 15 11 Transversion 16 10 -64.00 6.00 -35.67 -64.00 6.00 -46.18 -64.00 6.00 -40.12
2 Chr26 1549815 9 CtCTTTTTT 7 2 Transition 8 1 -3.00 6.00 -0.14 -9.00 0.00 -4.50 -9.00 6.00 -1.11
1 Chr26 1549914 12 gGGGGGGGAGgg 11 1 Transition 9 3 -9.00 6.00 1.18 -4.00 -4.00 -4.00 -9.00 6.00 0.75
1 Chr26 1550018
I have only been learning Perl for less than 2 weeks. I am a C++ programmer.
I have attached a portion of the data below. The data is in file1.txt. I would like to move the data from file1.txt to file2.txt. But, I only want to keep the numbers.
Eg: I want row 1 to look like this:
1 1549367 11 8 3 11 0 -12.00 6.00 -0.25 -3.00 0.00 -1.67 -12.00 6.00 -0.64
Instead of this:
1 Chr26 1549367 11 GGGGGGGAAGA 8 3 Transition 11 0 -12.00 6.00 -0.25 -3.00 0.00 -1.67 -12.00 6.00 -0.64
This is what I have done so far (file1.txt will be in @ARGV):
Code:
open FILE2, "+>file2.txt" or die "Cant not open file2.txt!";
my $line;
while($line = readline(ARGV))
{
print FILE2 $line;
}
I tried to use ‘seek’ and ‘tell()’ but, to solve my problem above but, I got confused :(
I also tried this:
Code:
Open(FILE, “file1.txt”) @theFile = <FILE>;
Thank you for your help
/……………………………………… ……………………………………… ………../
The file portion
1 Chr26 1549367 11 GGGGGGGAAGA 8 3 Transition 11 0 -12.00 6.00 -0.25 -3.00 0.00 -1.67 -12.00 6.00 -0.64
1 Chr26 1549501 15 ccCctctccccctCC 12 3 Transition 3 12 -17.00 6.00 0.50 1.00 6.00 2.67 -17.00 6.00 0.93
1 Chr26 1549552 14 AagAAaaAAAagga 11 3 Transition 6 8 -31.00 6.00 -2.09 -12.00 3.00 -5.67 -31.00 6.00 -2.86
1 Chr26 1549563 14 tAAaaAAAattat^F t 9 5 Transversion 5 9 -7.00 6.00 0.22 -64.00 4.00 -18.40 -64.00 6.00 -6.43
1 Chr26 1549726 14 TtTtctTtTtTTTT 13 1 Transition 8 6 -3.00 6.00 1.92 6.00 6.00 6.00 -3.00 6.00 2.21
2 Chr26 1549737 16 T+1Atttt+1aT+1A t+1aTt+1aT+1AT+ 1AT+1AT+1AtT+1A ^FA 15 11 Transversion 16 10 -64.00 6.00 -35.67 -64.00 6.00 -46.18 -64.00 6.00 -40.12
2 Chr26 1549815 9 CtCTTTTTT 7 2 Transition 8 1 -3.00 6.00 -0.14 -9.00 0.00 -4.50 -9.00 6.00 -1.11
1 Chr26 1549914 12 gGGGGGGGAGgg 11 1 Transition 9 3 -9.00 6.00 1.18 -4.00 -4.00 -4.00 -9.00 6.00 0.75
1 Chr26 1550018
Comment