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
) 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;
modifier is available since Perl 5.14, see Regexp Quote Like Operators
Sorry if my advice was wrong.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
Outside of code tags, you may need to use entities for some characters:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||