• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 237
  • Last Modified:

check if user exists in hash - what am I doing wrong?

Hi

I made this quick scripts to check if the users in a file are loaded into a hash.

this is the file: (txt file)
quintus
renee
usera
userb

and this is the script:

$capfile = "path to file";

 my $x = 0;
 open (CAPPED, $capfile) || die "Can't open file $capfile: $!";
   while (my $line = <CAPPED>) {
      $caplist{$line} = $x;
      $x ++ ;
   }
 close(CAPPED);

if (exists $caplist{"renee"}) {
 print "true";
 }


Why am i not getting a "true"?
0
QuintusSmit
Asked:
QuintusSmit
1 Solution
 
deiaccordCommented:
You are not removing the trailing end of line \n characters from your input file that you put into $line so "renee" does not exist in your hash but "renee\n" would.

You can chomp the input from your text file to clear this up like  below which should do the trick.

  while (my $line = <CAPPED>) {
      chomp $line;
      $caplist{$line} = $x;
      $x ++ ;
   }
0
 
QuintusSmitAuthor Commented:
ahh - thank you
0

Featured Post

Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now