in reply to How to search a Name from a file and extracts its designation

Hi amey,

Please find the code below, which meets your requirement.

#!/perl/bin/perl use strict; use warnings; use Data::Dumper; my $fname = "Designations.txt"; open (WXYZ, $fname) or die "Couldn't open file Designations.txt, $!"; while(1) # This loop is to continously get the user input. { print "Enter First Name or Last Name: \n \n"; my $user_input = <STDIN>; chomp($user_input); if(defined $user_input and length $user_input) { print "Entered name is : $user_input \n"; &find_details($user_input); seek(WXYZ,0,0); } } sub find_details{ my ($uinput) = @_; my @array; while (<WXYZ>) { chomp; next if(/\-+/ || /SLNO/); @array = split /\s+/,$_; my $input; foreach $input (@array[1,2]){ print ">>$input<<\n"; if ($input =~ /$uinput/) { print "$input,$array[3]\n"; return; } } } print ">>>>>>>>>>>>>>>>>>>>>>>>>>>Sorry! User Details not avai +lable<<<<<<<<<<<<<<<<<<<<<<<<<<\n" ; } close(WXYZ);

1. The first while loop continues runs to get the userinut and calls a find_details function if user enters valid input.

2. find_detils function reads each line and splits based on space character and saves into array, a foreach inside the function searchs your input against firstname and lastname. If user input matchs, its print the username and designation.

3.After the function return, I do seek to move the file pointer to move to the begging of the file to make the file ready to search the next input.


All is well

Replies are listed 'Best First'.
Re^2: How to search a Name from a file and extracts its designation
by amey (Initiate) on Jan 25, 2015 at 15:04 UTC

    Thanks Vinoth.ree for the code, I just went through it and understood most of it. I am Still in the learning phase a long way to go.