I have following script but am failing to get correct result; I want to get record printed if it matches to data input and create new record if not found; Could any one help?
#!c:\perl\bin\perl.exe -W
open(RECORDS, "CustData.txt")|| DIE;
print("Enter your four digit Customer Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
while ($customerRef<1000 || $customerRef>9999)
{
print("Incorrect Reference Number!
Please enter your correct Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
}
$customerRef=<RECORDS>;
while(<RECORDS>)
{
print($customerRef);
exit 0;
}
open(RECORDS, ">>CustData.txt");
print("Enter your four digit Customer Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
while ($customerRef<1000 || $customerRef>9999)
{
print("Incorrect Reference Number!
Please enter your correct Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
}
@title = ("Dr", "Lady", "Lord", "Miss", "Mr", "Mrs", "Ms", "Sir");
print("Please enter your title: ");
$title = <STDIN>;
chomp ($title);
foreach (@title)
{
if ($title !~ /(Dr|Lady|Lord|Miss|Mr|Mrs|Ms|Sir)/)
{
print("Incorrect title! Choose from following list: ");
print("$_@title");
$title = <STDIN>;
chomp ($title);
}
}
print("Surname: ");
$surname = <STDIN>;
chomp ($surname);
while ($surname !~ /(^[A-Za-z]{1,20})$/)
{
print("Please enter your Surname in alphabetic characters, maximum of 20: ");
$surname = <STDIN>;
chomp ($surname);
}
print("Forename: ");
$forename = <STDIN>;
chomp ($forename);
if ($forename !~ /(^[A-Za-z]{1,20})$/)
{
print("Please enter your Forename in alphabetic characters, maximum of 20: ");
$forename = <STDIN>;
chomp ($forename);
}
print("Sex (M-Male or F-Female): ");
$sex = <STDIN>;
chomp ($sex);
while ($sex !~ /(M|F|m|f)/)
{
print("Please choose M for Male or F for female: ");
$sex = <STDIN>;
chomp ($sex);
}
print("Date of Birth (DD/MM/YYYY): ");
$dateOfBirth = <STDIN>;
chomp ($dateOfBirth);
if ($dateOfBirth !~ /(\d\d)\W(\d\d)\W(\d\d\d\d)/)
{
print("Please enter your birthday in this format DD/MM/YYYY: ");
$dateOfBirth = <STDIN>;
chomp ($dateOfBirth);
}
print("Vision Measurement: ");
$visionMeasurement = <STDIN>;
chomp ($visionMeasurement);
while ($visionMeasurement<1 || $visionMeasurement>99)
{
print("Please a number between 1 and 99: ");
$visionMeasurement = <STDIN>;
chomp ($visionMeasurement);
}
print(RECORDS "$customerRef,$title,$surname,$forename,$sex,$dateOfBirth,$visionMeasurement\n");
close(RECORDS);
Thanking you in advance!! Warm Regards
#!c:\perl\bin\perl.exe -W
open(RECORDS, "CustData.txt")|| DIE;
print("Enter your four digit Customer Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
while ($customerRef<1000 || $customerRef>9999)
{
print("Incorrect Reference Number!
Please enter your correct Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
}
$customerRef=<RECORDS>;
while(<RECORDS>)
{
print($customerRef);
exit 0;
}
open(RECORDS, ">>CustData.txt");
print("Enter your four digit Customer Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
while ($customerRef<1000 || $customerRef>9999)
{
print("Incorrect Reference Number!
Please enter your correct Reference Number: ");
$customerRef = <STDIN>;
chomp ($customerRef);
}
@title = ("Dr", "Lady", "Lord", "Miss", "Mr", "Mrs", "Ms", "Sir");
print("Please enter your title: ");
$title = <STDIN>;
chomp ($title);
foreach (@title)
{
if ($title !~ /(Dr|Lady|Lord|Miss|Mr|Mrs|Ms|Sir)/)
{
print("Incorrect title! Choose from following list: ");
print("$_@title");
$title = <STDIN>;
chomp ($title);
}
}
print("Surname: ");
$surname = <STDIN>;
chomp ($surname);
while ($surname !~ /(^[A-Za-z]{1,20})$/)
{
print("Please enter your Surname in alphabetic characters, maximum of 20: ");
$surname = <STDIN>;
chomp ($surname);
}
print("Forename: ");
$forename = <STDIN>;
chomp ($forename);
if ($forename !~ /(^[A-Za-z]{1,20})$/)
{
print("Please enter your Forename in alphabetic characters, maximum of 20: ");
$forename = <STDIN>;
chomp ($forename);
}
print("Sex (M-Male or F-Female): ");
$sex = <STDIN>;
chomp ($sex);
while ($sex !~ /(M|F|m|f)/)
{
print("Please choose M for Male or F for female: ");
$sex = <STDIN>;
chomp ($sex);
}
print("Date of Birth (DD/MM/YYYY): ");
$dateOfBirth = <STDIN>;
chomp ($dateOfBirth);
if ($dateOfBirth !~ /(\d\d)\W(\d\d)\W(\d\d\d\d)/)
{
print("Please enter your birthday in this format DD/MM/YYYY: ");
$dateOfBirth = <STDIN>;
chomp ($dateOfBirth);
}
print("Vision Measurement: ");
$visionMeasurement = <STDIN>;
chomp ($visionMeasurement);
while ($visionMeasurement<1 || $visionMeasurement>99)
{
print("Please a number between 1 and 99: ");
$visionMeasurement = <STDIN>;
chomp ($visionMeasurement);
}
print(RECORDS "$customerRef,$title,$surname,$forename,$sex,$dateOfBirth,$visionMeasurement\n");
close(RECORDS);
Thanking you in advance!! Warm Regards