Hello harangzsolt33,
One thing I notice is that your sub RSPACE is essentially duplicating part of the functionality already present in Perl’s printf and sprintf builtin functions. In fact, your functions RSPACE and PRINT can be removed altogether, and the two places where PRINT is called can be written as follows:
# (1) in sub SearchFile:
PRINT("FOUND: $FULLNAME"); # original
printf " %-8dFOUND: %s\n", $TOTAL, $FULLNAME; # replacement
# (2) in sub CheckDIR:
if ($VERBOSE) { PRINT("SEARCHING: ", FormatPath($PATH)); }
+ # original
printf " %-8dSEARCHING: %s\n", $TOTAL, FormatPath($PATH) if $VERBOSE;
+ # replacement
Note the use of a statement mofifier in the second case. In general, statement modifiers should be preferred over compound statements whenever a single statement is involved, as this simplifies the code.
Some of your coding conventions could also be improved (IMHO):
I haven’t studied your code in detail. Overall, it looks good: well thought-out and implemented.
Regarding posting:
(1) It would be better to include your code in the question itself (inside <readmore> tags!) than to provide a web address, as the latter is likely to become invalid and so render this thread incomprehensible to future readers.
(2) You say you have tested the program. Adding your test code (again, in <readmore> tags, of course) would aid the monks in evaluating your code.
Hope that helps,
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.