----- Original Message -----
From: "John W. Krahn" <[EMAIL PROTECTED]>

> Leon wrote:
> >
> > ----- Original Message -----
> > From: "Mark Mclogan" <[EMAIL PROTECTED]>
> > > How I can know in that I number of line finds a word in a text file?.
> > > For example, a file "file.txt" contains the following list:
> > > Chocolate
> > > Cake
> > > Cheese
> > > Apple
> > > How I can know in that line number is the Apple word?
> >
> > open FILE, 'file.txt' or die "$!\n";
> > while (<FILE>){
> >         chomp;
> >         my $count++;
>
> $count is lexically scoped to the while loop so it will always have a
> value of one.

Thanks John for pointing out my mistakes otherwise I would still be in the
dark. I was wrong when I thought that the variable $count within the while
loop is avaliable to all parts of this while loop such as this :-
while (<FILE>){
         chomp;
         my $count++;
         if ( 1 ) {print "Line number $count\n"} ; #I was wrong!
};

I apologise to members for my unintentional mistake.

Using strict; apart from defining "my variable" in the main body of the
script, could some member tell me :-
(1)    how to make a variable within loops non-lexical as in this eg:-
while (<FILE>){
         my $count++; # how to globalised this variable?
};

(2)    how to make a variable available to all parts of this while loop
ONLY.... eg:-
use strict;
while (<FILE>){
         my $count++;
         if (1){
            #what must I do to return $count here.
            $count_available_here_also = $count;
         };
};
#I do not wish to return $count here..
$but_not_here = $count; 

Thanks

--- The correction of my untested failed script ----
--- Tested and working ----

open FILE, 'file.txt' or die "$!\n";
my ($count);
while (<FILE>){
        chomp;
        $count++;
        print "Apple is found in line number $count\n" if (/Apple/);
};
close FILE;






_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to