Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Sep 2000 21:04:01 +0200
From:      Willem Brown <willem@brwn.org>
To:        Mark Ovens <marko@freebsd.org>
Cc:        questions@freebsd.org
Subject:   Re: perl(1) question
Message-ID:  <20000903210401.A42226@snoopy.brwn.org>
In-Reply-To: <20000903190409.B255@parish>; from marko@freebsd.org on Sun, Sep 03, 2000 at 07:04:09PM %2B0100
References:  <20000903190409.B255@parish>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

It would seem that the string index searches for is not a regular
expression. 

The following changes seems to work when I tried it.

     $i = index(uc $line, "FOO");

Basically, convert the word to all uppercase and then check the line.

line=Foobar
i = 0
line= Foobar
i = 1
line=  foobar
i = 2
line=   FOOBAR
i = 3
line=        foOBar
i = 8

On Sun, Sep 03, 2000 at 07:04:09PM +0100, Mark Ovens wrote:
> 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
> 

Best Regards
Willem Brown
-- 
 /* =============================================================== */
 /*      Linux, FreeBSD, NetBSD, OpenBSD. The choice is yours.      */
 /* =============================================================== */

Speak softly and own a big, mean doberman.


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?20000903210401.A42226>