#!/usr/bin/perl
#
# eg1: list test program
#

use strict;
use warnings;
use List;	# if it exists!

die "Usage: eg1 wordfile [wordfile...]\n" unless @ARGV;

my $wordlist = List::nil();                    # make list of every lowercased word in every file
while( my $line = <> )			       # for every line in every file
{
	chomp $line;
	$line =~ s/^\s+//;		       # remove leading..
	$line =~ s/\s+$//;		       # .. and trailing whitespace
	next unless $line;		       # skip empty lines
	$line = lc($line);		       # lower case
	my @wd = split( /\s+/, $line );	       # foreach word in line
	foreach my $word (@wd)
	{
		$wordlist = List::cons( $word, $wordlist );
	}
}
$wordlist = List::rev( $wordlist );	       # reverse wordlist

my $len = List::len( $wordlist );	       # print length of wordlist
print "len(list) = $len\n";

my $str = List::as_string( $wordlist );	       # print the wordlist
print "list = $str\n";
