##
if (-f "datafile.json") {
##
##
#!/opt/lampp/bin/perl
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser';
use File::Slurp qw< read_file write_file >;
use JSON qw< from_json to_json >;
use constant USER_ACCOUNT_FILE => '/opt/lampp/htdocs/datafile.json';
sub store_user_account
{
my ($name, $mail, $pass) = @_;
my $existing_data = -f USER_ACCOUNT_FILE
? from_json(scalar read_file(USER_ACCOUNT_FILE, err_mode => 'croak'))
: [];
push @$existing_data, {
name => $name,
mail => $mail,
pass => $pass,
};
write_file(
USER_ACCOUNT_FILE,
{ atomic => 1, err_mode => 'croak' },
to_json($existing_data),
);
}
sub process_cgi
{
my ($q) = @_;
store_user_account(
map { scalar $q->param($_) } qw(name mail pass),
);
print $q->header('text/html');
print "Finished file.
\n";
}
process_cgi( CGI->new );