Hello Rolf,
Below is the code I am working with inside the program. As you can see I am editing certain criteria on a per screen basis. However I would like to move this to one screen only.
sub editcarowner {
Title "Edit Car Owner";
print ("==============\n\n");
print ("| CAR MODEL: |\n\n");
print ("==============\n\n\n\n\n\n\n\n\n\n\n\n");
my $carmodel = <STDIN>;
$carmodel = <STDIN> until defined $carmodel;
chomp $carmodel;
cls();
print ("================\n\n");
print ("| CAR YEAR: |\n\n");
print ("================\n\n\n\n\n\n\n\n\n\n\n\n");
my $caryear = <STDIN>;
$caryear = <STDIN> until defined $caryear;
chomp $caryear;
cls();
print (" ==================================\n\n"
+);
print ("| CURRENT OWNER: |\n\n");
print (" =============================\n\n\n\n\
+n\n\n\n\n\n\n\n");
my $currentowner = <STDIN>;
$currentowner = <STDIN> until defined $currentowner;
chomp $currentowner;
cls();
print (" =============================\n\n");
print ("| NEW CAR OWNER: |\n\n");
print (" =============================\n\n\n\
+n\n\n\n\n\n\n\n\n");
my $newcarowner = <STDIN>;
$newcarowner = <STDIN> until defined $newcarowner;
chomp $newcarowner;
cls();
my $file = "DATA/cardata.txt";
local $^I = ".bak";
local @ARGV = ($file);
while (<>) {
chomp;
my ($carmodel,$caryear,$carowner) = split(/\:/);
if (($carmodel eq $carmodel) && ($caryear == $caryear)) {
print "$carmodel:$caryear:$newcarowner\n";
}else {
print "$_\n";
}
}
unlink("$file.bak");
print ("\n\n\n\n\n\n\n\n");
print ("CAR OWNER UPDATED SUCCESSFULLY!!\n\n\n\n\n\n\n\n\n\n\n\n");
sleep 3;
cls();
cars();
} # END EDIT CAR OWNER