jonnyfolk has asked for the wisdom of the Perl Monks concerning the following question:
If the input in $checkfour matches the field $four then I can take out the information. If it doesn't match the 'else' kicks in.#!/usr/bin/perl -w use strict; #use CGI::Carp qw(fatalsToBrowser warningsToBrowser); use CGI ':standard'; my $data="/path/data.txt"; my $other_data="/path/other_data.txt"; my $checkfour = param('check'); my @other = (); open (OTHER, $other_data); while (my $line =<OTHER>) { my ($one,$two,$three,$four,$five) = split "\t",$line; if ($four eq $checkfour) { push (@other, $three); push (@other, $four); last; } } close (OTHER); my $checkthree = shift(@other); my $four = shift(@other); print header(), start_html(-title => ""); print "get $checkthree and $four then $checkfour<br>"; open (FILE, "$data"); while (my $line =<FILE>) { my ($one,$two,$three,$four,$five) = split "\t",$line; if ($three eq $checkthree) { print "<p>With matching parameters I should be able to see this </p>"; last; } else {print "<p>If I put the else statement in it ignores the fact t +hat the parameters match - and comes here! (But I don't know why).</ +p>"; last; } } close FILE; print end_html();
Except.....when I use parameters that do match, it matches only if the else statement is not there - if take it out I get the match, if I put it in it ignores the match and goes to the else.
If someone could tell me why I'd be very grateful.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: data field extraction not as expected
by elusion (Curate) on Dec 06, 2002 at 22:21 UTC | |
by jonnyfolk (Vicar) on Dec 07, 2002 at 17:11 UTC |