У меня проблема с преобразованием моих данных в json, и я не знаю почему.
Вот код, который работает:
#constructor
sub new {
my $class = shift;
my $Titel = shift;
my $Text = shift;
my $Time = localtime;
my $self = {};
$self->{text} = $Text;
$self->{create} = $Time;
$self->{edit} = $Time;
my $json = JSON::XS->new();
open WF, '>> $file' || die "Error : $!";
print WF $json->encode($self)."\n";
close WF;
bless $self, $class;
}
Я создаю «объект»и сохранить данные в текстовом файле (через JSON) тоже.
У меня проблемы, если я пытаюсь редактировать некоторые данные:
sub edit {
my $self = shift;
my $Text = shift;
my $ID = shift;
my $Time = localtime;
my $json = JSON::XS->new();
$json->allow_blessed(1);
$self->{text} = $Text; #edit text
$self->{edit} = $Time; # edit date
open INPUT, '< $file' || die "Error : $!";
my @data = <INPUT>;
close(INPUT);
open WF, '> $file' || die "Error : $!";
for (my $Count=0; $Count<=$#data; $Count++){
chomp($data[$Count]);
if($Count == $ID){#if line of data found, who is going to be edited
print WF $json->encode($self)."\n";
}else{
print WF $data[$Count]."\n";
}
}
close WF;
}
Что я пытаюсь сделать, это просто редактироватьодна строка в текстовом файле .. (если у вас есть идея получше, пожалуйста, покажите мне: D)
Я не вижу разницы между моей процедурой в коде, показанном первым, и этим ...
он просто пишет «ноль» обратно в текстовый файл ...
Есть идеи?