Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: get the rest of the text

by johngg (Canon)
on Feb 27, 2008 at 12:18 UTC ( #670607=note: print w/replies, xml ) Need Help??

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.

Something along these lines (not tested).

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.



Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://670607]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2020-08-15 08:20 GMT
Find Nodes?
    Voting Booth?
    Which rocket would you take to Mars?

    Results (78 votes). Check out past polls.