Re[3]: работа с CSV
Вот так выглядит sells.csv
BEGIN first;second
apple;gold
russian;english
russian2;english2
russian3;english3
END  Сам файл обработки выглядит также, как у Вас (с некоторыми изменениями)
BEGIN use strict;
open(CHECKFILE, "sells.csv");
my @sells=<CHECKFILE>;
close(CHECKFILE);
my %FORM=('pin'=>'russian','pwd'=>'english');
my $tmp=qq[$FORM{'pin'};$FORM{'pwd'}];
foreach my $line (@sells)
{
  chomp $line;
  if ($line ne $tmp)
  {
    print "$line NOT_EQUAL $tmp\n";
    next;
  }
  elsif ($line eq $tmp)
  {
    print "$line EQUAL $tmp\n";
    exit;
  }
  else
  {
    print 'Error';
    exit;
  }
}
END  Такой вариант работает?
-----Original MessageFrom: Ilya [mailto:il***@r*****.com] 
Sent: Wednesday, May 10, 2006 9:22 PM
To: inet.webbuild.webbuilding (5090336)
Subject: Re[2]: работа с CSV
Здравствуйте, Sledge.
> А что конкретно не выходит?
Вообще  ничего  не выходит :( Постоянно выполняется &error_sells; даже если
$line eq $tmp. Я думал, что проблема может быть в том, что строки $tmp  и
$line  могут  различасться из-за наличия в какой-нибудь знака конца  строки.
Здесь я его убираю $line =~ s/\n//g;, если он есть, но программа  всё  равно
ведет  себя  так,  словно совпадающие строки не найдены...
open(CHECKFILE, "sells.csv");
while (<CHECKFILE>)
{
push(@sells, $_);
}
close(CHECKFILE);
$tmp=qq[$FORM{'pin'};$FORM{'pwd'}];
$tmp =~ s/\n//g;
foreach $line (@sells)
{
  $line =~ s/\n//g;
  if ($line ne $tmp)
  {
  next;
  }
  elsif ($line eq $tmp)
  {
  &step2;
  exit;
  }
  else
  {
  &error_sells;
  exit;
  }
}
Вы писали 7 мая 2006 г., 12:52:43:
> А что конкретно не выходит?
 
                
            
 
                                