Для работы с CSV использую модуль Tie::Handle::CSV. Читается все нормально, а вот изменять поля в файле не получается. Вроде все делаю как в документации к модулю написано. Подскажите, пожалуйста, в чем может быть проблема.
Код:
#!/usr/bin/perl -w
use POSIX;
use strict;
use warnings;
use Tie::Handle::CSV;
my $csv_fh = Tie::Handle::CSV->new("test.csv", open_mode => '+<', sep_char => ';');
while (my $csv_line = <$csv_fh>)
{
print $csv_line->{'name'}."\n";
$csv_line->{'status'} = "done";
}
close $csv_fh;
Содержимое тестового файла CSV:
name;ip;status;serial
a;10.0.109.6;;
b;10.0.19.6;;
c;10.0.19.6;;
d;10.0.19.6;;
e;10.0.43.6;;
Результат выполнения:
$ cat test.csv
name;ip;status;serial
a;10.0.109.6;;
b;10.0.19.6;;
c;10.0.19.6;;
d;10.0.19.6;;
e;10.0.43.6;;
$ ./test.pl
a
b
c
d
e
$ cat test.csv
name;ip;status;serial
a;10.0.109.6;;
b;10.0.19.6;;
c;10.0.19.6;;
d;10.0.19.6;;
e;10.0.43.6;;