Added support for Readline, which should simply adding receipes
[infodrom.org/service.infodrom.org] / src / InfoCon / buch / infocon
index da37618..5d24747 100755 (executable)
@@ -1,18 +1,18 @@
 #! /usr/bin/perl
 
 #  infocon - Admin-Tool for InfoCon
-#  Copyright (c) 1998-2002  Martin Schulze <joey@infodrom.org>
-
+#  Copyright (c) 1998-2002,2003  Martin Schulze <joey@infodrom.org>
+#
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
 #  the Free Software Foundation; either version 2 of the License, or
 #  (at your option) any later version.
-
+#
 #  This program is distributed in the hope that it will be useful,
 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #  GNU General Public License for more details.
-
+#
 #  You should have received a copy of the GNU General Public License
 #  along with this program; if not, write to the Free Software
 #  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
@@ -20,6 +20,7 @@
 # $Id$
 
 use DBI;
+use Term::ReadLine;
 
 $table = "sales";
 $engine  = "dbi:Pg:dbname=infocon";
@@ -177,11 +178,11 @@ sub read_input
     my $default = shift;
     my $ans;
 
-    print $prompt;
-    printf " [%s]", $default if ($default);
-    print ": ";
-    $ans = <STDIN>;
-    chop ($ans) if ($ans);
+    if ($default) {
+       $ans = $term->readline ($prompt . " [" . $default . "]: ");
+    } else {
+       $ans = $term->readline ($prompt . ": ");
+    }
     if (length ($ans) == 0) {
        $ans = $default;
     } elsif ($ans eq ".") {
@@ -286,6 +287,7 @@ sub usage
     exit 0;
 }
 
+$term = new Term::ReadLine '';
 $i = 0;
 $opt_verbose = 0;
 $opt_year = 0;