Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: how to deal with incorrect command line argument

by AnomalousMonk (Archbishop)
on Oct 31, 2013 at 08:10 UTC ( [id://1060533]=note: print w/replies, xml ) Need Help??


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
    <speechless> </speechless>
    Um. Wow. I have some self-educational opportunities here, it seems.

      Make sure to have paramedics standing by before you start juggling your swiss army chainsaws like this :).

        LOL. Noted -- I'll be sure to aiariiighr . . . { static on the radio } . . .
Re^2: how to deal with incorrect command line argument
by muba (Priest) on Oct 31, 2013 at 21:23 UTC

    The day that commands in the rm family start exposing that kind of behaviour, where not only they offer suggestions a la Google ("twst.htm doesn't exist - did you mean to rm test.htm instead?") but also assume that that's what I meant ("twst.htm doesn't exist, so I went out of my way for you and rm'ed test.html instead, which, hey, you only worked on for 8 hours straight and haven't backed up yet. You're welcome, bro.") I swear I'm never touching a computer again.

      ROFLSHIPMP OMG My wife is going to disown me I am laughing so hard.

      Nice way to end my PerlMonks day. Thank you!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1060533]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2024-04-20 00:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found