Generally, your code is OK, but I would like to point out some things which can be improved.
#declare the filehandeles outside the foreach loopWhy? 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.
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.opendir (DIR, $dir) or die $!; my @textFiles = grep /\.txt/, readdir DIR;
By the way, you can open just "." instead of using Cwd. "." means "current directory" in modern operating systems.
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).my $text_file_out = $text_file; $text_file_out =~ s/\.txt//; $text_file_out = $text_file_out . '_new.txt';
In reply to Re: Processing multiple files
by aitap
in thread Processing multiple files
by mocnii
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |