lina wrote:
> On Sun, Mar 11, 2012 at 10:45 PM, lina <[email protected]> wrote:
>> A
>> 7.803481E-01 8.228973E-01 7.515242E-01 2 1833
>> -5.5000000000 308.3889771284 5 0 7 1.7084151661
>> 1.6790503987 2.75458
>> 53558
>> 7.866901E-01 8.410519E-01 9.981456E-01 2 14485
>> -5.5000000000 269.6201271260 39 4 7 -2.5561279716
>> -3.5975355928 1.5117
>> 155069
>> C
>> 7.735338E-01 9.981671E-01 7.735798E-01 2 11514
>> -5.5000000000 289.1918534266 31 1 7 -5.6311359613
>> -0.0502358314 0.0768
>> 146957
>> 5.907322E-02 6.045568E-02 3.388628E-02 1 28
>> -6.5000000000 336.0228260493 1 2 7 0.8177802191
>> 3.9634621584 -3.0314
>> 370501
>> A
>> 2.764127E-02 3.230161E-02 1.633790E-02 1 51
>> -6.5000000000 319.7604886848 1 3 7 0.7583797888
>> 3.5176580829 -1.87872
>> 93439
>> 5.960780E-02 2.111333E-02 1.066835E-01 1 62
>> -6.5000000000 297.7363059936 1 1 7 2.2257828331
>> 3.7887567121 -3.4478
>> 600377
>>
>>
>> I am so troubled with extract the lines after A but not the lines
>> under C out, so the final result is
>>
>> 7.803481E-01 8.228973E-01 7.515242E-01 2 1833
>> -5.5000000000 308.3889771284 5 0 7 1.7084151661
>> 1.6790503987 2.75458
>> 53558
>> 7.866901E-01 8.410519E-01 9.981456E-01 2 14485
>> -5.5000000000 269.6201271260 39 4 7 -2.5561279716
>> -3.5975355928 1.5117
>> 1550692.764127E-02 3.230161E-02 1.633790E-02 1 51
>> -6.5000000000 319.7604886848 1 3 7 0.7583797888
>> 3.5176580829 -1.87872
>> 93439
>> 5.960780E-02 2.111333E-02 1.066835E-01 1 62
>> -6.5000000000 297.7363059936 1 1 7 2.2257828331
>> 3.7887567121 -3.4478
>> 600377
>>
>>
>> Thanks for you suggestions,
>
> What I have come up so far :
>
> #!/usr/bin/env perl
>
> use strict;
> use warnings;
>
> my $filename = "try.txt";
>
> open my $fh, '<', $filename or die "Couldn't read $filename";
You should include the reason it failed in the die statement.
open my $fh, '<', $filename or die "Couldn't read $filename <$!>";
>
>
>
> while (my $line = <$fh>){
> if ($line =~ /^A$/){
Use the range operator to delimit the section you want to extract.
You can read about in 'perldoc perlop'
if ($line =~ /^A$/ .. $line =~ /^C$/) {
> ## Here I don't know how to proceed further
> print $line;
You'll want to skip over the 'A' and 'C' lines before printing the line.
I'll leave that to you.
> }
> }
>
> Thanks
>
> --
>
Ron Bergin
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/