... I want the program to report an error "warn" but continue and work with the correct argument.
In general, I find I have enough trouble when I try to guess what my programs should be doing; I certainly don't want my programs making those guesses!
However, in the spirit of giving good advice and then immediately undercutting it, you might look at Text::Levenshtein and related fuzzy string comparison modules; see Levenshtein distance. The strategy might be something like "look for all file names in a given directory with an L-D (or other match metric) less than a given threshold, then use the file name with the least distance if that name is unique".
>perl -wMstrict -le
"use Text::LevenshteinXS;
;;
my $tyop = 'twst.html';
for my $try (qw(test.html testb.html)) {
my $d = distance($tyop, $try);
print qq{'$tyop' < $d > '$try'};
}
"
'twst.html' < 1 > 'test.html'
'twst.html' < 2 > 'testb.html'
-
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.
|