Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
понятно! спасибо :) 03.02.06 15:22 Число просмотров: 2016
Автор: streptokok Статус: Незарегистрированный пользователь
|
> проще всего поправить ваш скрипт. если запостите - попробую > показать как. > .... > а в общем и целом, ключик -n делает вот что: > > 1. считывает одну строчку со stdin > 2. запускает скрипт, помещая считаную строку в $_ > 3. goto 1 until end_of_file
понятно! спасибо :)
следующий вопрос - можно ли сохранять переменные между итерациями?
иначе придется каждый раз считывать hash из файла... долговато
my $src ="src.csv", $cat="categorie.csv", $dist ="dist.csv";
my $line, $flag, $feld, $new, $old, $name;
my %categorie, %relation;
# ---- read categorie ----
open (CAT, "<$cat") or die $!;
while(<CAT>){
chomp;
($new,$old,$name)=split(/\;/);
$relation{$old}=$new;
}
close (CAT);
# ---- write new categorie ----
open (SRC, "<$src") or die $!;
open (DIST, ">>$dist") or die $!;
$flag=0;
while(<SRC>){
chomp;
split(/\;/);
if($flag==0){
$feld="\"NewCategorieNumber\"";
$flag=1;
}
else {
if(!$relation{$_[25]}) {
$feld="\"0\"";
}
else {
$feld=$relation{$_[25]};
}
}
$line = join("\;",@_);
$line = $line."\;$feld\n";
print DIST $line;
}
close (DIST);
close (SRC);
|
|
|