On Jan 13, rabs said: >#!/usr/bin/perl-w >print "please enter a word then press enter\n"; >@a= <STDIN>; >$L =@a; >for ($i=0; $i<=$L; $i++){ >print $a[$i]; >}
Your loop should be for ($i = 0; $i < $L; $i++) { ... } Notice <= should be <. It should also be noted that the idiomatic way of looping over an array is like so: for (@a) { # do something with $_ } So your code could be: @a = <STDIN>; for (@a) { print } And, since we're on the subject, you could rewrite those as: while (<STDIN>) { print } >print "\n there are $L varibles in the hash"; >print "\n why wont $a[$0] print out " The data structure is not a hash, it is an array. And $0 is the variable holding your program's name. I believe you meant $a[0]. >The program prints out > >have >underwater >weapons I bet you're on a windows machine, and windows has a notorious habit of "eating up" the first line of output. :( -- Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/ RPI Acacia brother #734 http://www.perlmonks.org/ http://www.cpan.org/ ** Look for "Regular Expressions in Perl" published by Manning, in 2002 ** <stu> what does y/// stand for? <tenderpuss> why, yansliterate of course. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]