in reply to how to deal with incorrect command line argument
... 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'
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: how to deal with incorrect command line argument
by marinersk (Priest) on Oct 31, 2013 at 11:50 UTC | |
by Anonymous Monk on Oct 31, 2013 at 15:11 UTC | |
by marinersk (Priest) on Oct 31, 2013 at 19:35 UTC | |
Re^2: how to deal with incorrect command line argument
by muba (Priest) on Oct 31, 2013 at 21:23 UTC | |
by marinersk (Priest) on Oct 31, 2013 at 21:30 UTC |