Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^2: Reading Multiple files

by maheshkumar (Sexton)
on Aug 07, 2012 at 16:21 UTC ( #986025=note: print w/ replies, xml ) Need Help??


in reply to Re: Reading Multiple files
in thread Reading Multiple files

I am not an expert in perl but the code that i have written already defines a file name so what should i do with that? Sorry I did not understand your code completely I am still doing it. Any help on this?


Comment on Re^2: Reading Multiple files
Re^3: Reading Multiple files
by 2teez (Priest) on Aug 07, 2012 at 18:13 UTC

    ..the code that i have written already defines a file name..

    The script I wrote, was on the premises that you want to write your selected "data", from each of the file, to a new file each.
    So, if your intention, then is to use just one file, to get all the selected "data", from various files in the directory ( or directories ), since you said you already have a filename. Then, you might have to modify, your code a bit.
    However, I might be wrong here. Please, if I may clear thing out.
    How are you getting your new files?
    Are you writing, all your output to a single file?
    Or to a new file for EACH file you are reading from?

      Basically what i am doing is that I have around 100 text files with different file names (random names) for example TR1, TR2 and so on. I am extracting data from TR1 and saving it in another file called TR1_Result. I want a code which does this on all files and creates new result file for each of them

        Hi,

        That is what the code I gave is really doing.

        sub work_n_save { ... ## whatever my $filename = $File::Find::name if !-d; ## get file name if not + directory $filename = basename($filename); ## get the file base na +me ## The line below assumes, files have extention $filename =~ s/\..+$//; ## remove the file exte +ntion open my $fh_new, '>', $filename . "_Result" or croak "can't open f +ile: $!"; open my $fh, '<', $_ or croak "can't open file: $!"; while ( defined( my $line = <$fh> ) ) { chomp $line; ## do whatever you want print {$fh_new} $line, $/; } }
        NOTE:
        Please, don't forget that the subroutine "work_n_save" is called as sub. reference in the find subroutine of the module File::Find, which transverse the whole of the directory ( or directories).
        Also, note the way the new files are opened:
        open my $fh_new, '>', $filename . "_Result" or croak "can't open file: + $!";
        Hope this helps.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (8)
As of 2015-07-04 20:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (60 votes), past polls