Date: Sun, 3 Sep 2000 19:04:09 +0100 From: Mark Ovens <marko@freebsd.org> To: questions@freebsd.org Subject: perl(1) question Message-ID: <20000903190409.B255@parish>
next in thread | raw e-mail | index | archive | help
Does index() ignore leading whitespace? A perl(1) script I have appears to be doing just that. Isolating the relevant lines I have: #!/usr/bin/perl -w open 'CONTENTS',"/usr/mark/scrap" or die "cannot open /usr/mark/scrap"; until (eof 'CONTENTS') { chomp ($line = <CONTENTS>); $i = index($line, /FOO/i); print "line\=$line\n"; print "i \= $i\n"; }; close 'CONTENTS'; Running this on a file containing: Foobar Foobar foobar FOOBAR foOBar I get: # ./scrap.pl scrap Use of uninitialized value at ./scrap.pl line 7, <CONTENTS> chunk 1. line=Foobar i = 0 Use of uninitialized value at ./scrap.pl line 7, <CONTENTS> chunk 2. line= Foobar i = 0 Use of uninitialized value at ./scrap.pl line 7, <CONTENTS> chunk 3. line= foobar i = 0 Use of uninitialized value at ./scrap.pl line 7, <CONTENTS> chunk 4. line= FOOBAR i = 0 Use of uninitialized value at ./scrap.pl line 7, <CONTENTS> chunk 5. line= foOBar i = 0 # So index() appears to be ignoring the leading whitespace because it always returns 0. Also, what causes the "Use of uninitialized value...." warning? I cannot see anything wrong with the script. I've checked Learning Perl by Schwartx and Christiansen and the perl manpages; also the code is taken from the original script which doesn't give this warning. Any pointers would be greatly appreciated. TIA -- 4.4 - The number of the Beastie ________________________________________________________________ 51.44°N FreeBSD - The Power To Serve http://www.freebsd.org 2.057°W My Webpage http://ukug.uk.freebsd.org/~mark mailto:marko@freebsd.org http://www.radan.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000903190409.B255>