Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re^3: Reading Multiple files

by 2teez (Vicar)
on Aug 07, 2012 at 18:13 UTC ( #986049=note: print w/replies, xml ) Need Help??

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

..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?

Replies are listed 'Best First'.
Re^4: Reading Multiple files
by maheshkumar (Sexton) on Aug 08, 2012 at 15:36 UTC

    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


      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, $/; } }
      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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://986049]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2018-06-23 16:24 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (125 votes). Check out past polls.