Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Processing multiple files

by aitap (Deacon)
on Dec 12, 2012 at 19:38 UTC ( #1008576=note: print w/ replies, xml ) Need Help??


in reply to Processing multiple files

Generally, your code is OK, but I would like to point out some things which can be improved.

#declare the filehandeles outside the foreach loop
Why? You can write less code (e.g. open my $filehandle, ...) and (if you declare it inside the loop) Perl will close the filehandle automatically right after current iteration of the block finishes executing.

opendir (DIR, $dir) or die $!; my @textFiles = grep /\.txt/, readdir DIR;
For simple matching of directory contents diamond operator (glob) can serve using smaller code: my @files = <*.txt>; - without any need to open or close any directories.

By the way, you can open just "." instead of using Cwd. "." means "current directory" in modern operating systems.

my $text_file_out = $text_file; $text_file_out =~ s/\.txt//; $text_file_out = $text_file_out . '_new.txt';
This can be done in one operation: (my $text_file_out = $text_file) =~ s/\.txt$/_new.txt/;. Another option: my $text_file_out = $text_file =~ s/\.txt$/_new.txt/r; (/r modifier is available since Perl 5.14, see Regexp Quote Like Operators).

Sorry if my advice was wrong.


Comment on Re: Processing multiple files
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (13)
As of 2014-07-22 13:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (113 votes), past polls