Re: Searching in a line



lerameur wrote:
On Aug 30, 4:39 pm, "Jürgen Exner" <jurge...@xxxxxxxxxxx> wrote:
lerameur wrote:
I wrote this now: If it finds the work beth in the line, then is
splits the line. otherwise print an error.
Now there is beth in the file ( i added it) but the program always
skips to the else statement, end prints it twice.
How should I modify the search if (/^beth/) ?
while ($data=<$fh>) {
Here you are reading each line into $data

if (/beth/) { #matches only if beth is in line
and here you are matching /beth/ against the default $_.

Is that what you meant to do?

jue

so you are saying this is no good:
$data=<$fh>

should I putting this into an array then ?

No, that is *not* what he is saying. You should either use $data in both places:

while ( my $data = <$fh> ) {

if ( $data =~ /beth/ ) { #matches only if beth is in line

Or use $_ in both places:

while ( <$fh> ) {

if ( /beth/ ) { #matches only if beth is in line




John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order. -- Larry Wall
.



Relevant Pages

  • Re: Searching in a line
    ... lerameur wrote: ... splits the line. ... Now there is beth in the file but the program always ...
    (comp.lang.perl.misc)
  • Re: Searching in a line
    ... splits the line. ... Now there is beth in the file but the program always ... so you are saying this is no good: ... should I putting this into an array then? ...
    (comp.lang.perl.misc)
  • Re: Searching in a line
    ... splits the line. ... Now there is beth in the file but the program always ... I am saying you should make up your mind if you want to use the default ... I guess I will sue the default one. ...
    (comp.lang.perl.misc)