in reply to get the rest of the text
Here are some thought about your code.
- Check for the success or failure of open and close operations.
- Use the three argument form of open and lexical filehandles.
- Don't keep opening and closeing your output file every time you find a line you are interested in, do them once outside the while loop. Your code keeps opening the file for writing thereby clobbering what you have written in previous loops.
- Add captures to your regex to preserve what comes before and after $element and avoid the performance implications of $'.
- Reading into $_ can save some typing as certain operations default to using $_ if no argument is given.
use strict; use warnings; my $element = q{coucou}; my $inFile = q{EXEMPLE.txt}; my $outFile = qq{RESEARCHED_text_${element}.txt}; open my $inFH, q{<}, $inFile or die qq{open: $inFile: $!\n}; open my $outFH, q{>}, $ourFile or die qq{open: $outFile: $!\n}; while ( <$inFH> ) { next unless m{(.*?)$element(.*); print $outFH; my $beforeElement = $1; my $afterElement = $2; # Do something here with your captured text ... } close $inFH or die qq{close: $inFile: $!\n}; close $outFH or die qq{close: $outFile: $!\n};
I hope this is of use.
Cheers,
JohnGG
|
---|
In Section
Seekers of Perl Wisdom