... 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'
In reply to Re: how to deal with incorrect command line argument
by AnomalousMonk
in thread how to deal with incorrect command line argument
by scripter87
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |