############################################################################
#
#	File:     shortest.icn
#
#	Subject:  Program to write shortest line in a file
#
#	Author:   Ralph E. Griswold
#
#	Date:     November 25, 1992
#
############################################################################
#
#   This file is in the public domain.
#
############################################################################
#
#  This program writes the (last) shortest line in the input file.  If the
#  command-line option  -# is given, the number of the shortest line is
#  written first.
#
############################################################################

procedure main(argl)
   local shortest, min, count, countl, number, line

   if argl[1] == "-#" then number := 1

   shortest := read() | exit()
   count := 1
   min := *shortest

   every line := !&input do {
      count +:= 1
      if *line <= min then {
         min := *line
         shortest := line
         countl := count
         }
      }

   if \number then write(countl)
   write(shortest)

end
