use strict; use warnings; use Data::Dumper; my %database; my @employee_details; my @mykeys; open(FH,"+>>database.txt")|| die 'Cannot open the file'; print FH %database; close FH; sub client { my $choice=shift @_; if($choice eq 'add') { print STDOUT 'Enter employee details',"\n"; print STDOUT 'Enter employee id',"\n"; my $employee_id=; chomp $employee_id; print STDOUT 'Enter employee name',"\n"; my $employee_name=; chomp $employee_name; print STDOUT 'Enter employee salary',"\n"; my $employee_salary=; chomp $employee_salary; print STDOUT 'Enter employee phone number',"\n"; my $employee_ph=; chomp $employee_ph; @employee_details=($employee_name, $employee_salary,$employee_ph,"\n"); $database{$employee_id}=(\@employee_details); print FH %database; } elsif($choice eq 'get') { open(FH,"+>>database.txt")|| die 'Cannot open the file'; print FH my @database; my $mykeys=(\@database); print STDOUT @{$mykeys},"\n"; } } print STDOUT "Enter your option\n"; my $input=; chomp $input; client($input);