Skip to content

Perl programming project

Perl Programming for Bneginners project

#!/usr/bin/perl
use strict;
use warnings;
use feature "say";
use Term::ANSIColor qw(:constants);
use Term::ANSIColor;
my $header = <<'END HEADER' ;
################   Welcome to Vladmin Customer Perl Program  ################

            ################   Copyright Vladmin OOD   ################
END HEADER

print(GREEN,"\t$header\n",RESET);
print(GREEN, "\t\t\tProgram for Managing Customers\t\n",RESET);
my $filename = "customers.txt";
sub usage{
    print("\n\n");

    print(CYAN,"\n1. Search For customer\n");
    print("2. Add new Customer\n");
    print("3. Get all customers\n");
    print("4. Quit\n");
    print("Select an Option: ");
    print("",RESET);
}
while(1){
    usage + "\n";
    my $data = <STDIN>;
    chomp($data);
    print("\n\n");
    ## EXIT PROGRAM
    if($data eq "4"){
        print(YELLOW,"Exitting Program Bye Bye..\n",RESET);
        last
        ## GET ALL CUSTOMERS
    }elsif ($data =~ "3"){
        open(my $fh,"<",$filename);
            print(BOLD YELLOW,"####### List of Customers ######: \n");
            print("\n==================\n");
            while (my $row = <$fh>){

                print("$row");

        }close($fh);
        print("\n==================\n",RESET);
        ## Add new customer
    }elsif ($data =~ "2"){
        print("Enter a name to add to the file: ");
        my $input = <STDIN>;
        chomp($input);
         open(my $fh, ">>",$filename);
        print($fh $input,"\n");
        close($fh);

        ## SEARCHING FOR CUSTOMER
    }elsif($data =~ "1"){
        my @customer_array = ();
        print(BOLD ITALIC CYAN,"Enter Customer's Name: ",);
        my $cs_name = <STDIN>;
        chomp($cs_name);
       open(my $fh, "<",$filename);
       while (my $name = <$fh>){
        push(@customer_array,$name);

       }
        if(grep($cs_name,@customer_array)){
            print("\nCustomer Found In list! $cs_name\n",RESET);
            next
        }else{
            print("Customewr Not in list\n");
        }

    }
}

Output