$id = 1; # <--- semicolon was missing open(MYFILE,"/var/tmp/mylist.dat") or die "Cant open mylist.dat" while () { # <--- wrong file handle fixed chomp; die "Request Id $id already present in file\n" if $_ eq $id; } close MYFILE; #### die "Request Id $id already present in file\n" if /$id/; #### while (my $line = ) { chomp $line; die "Request Id $id already present in file\n" if $line =~ /$id/; } #### my @array = split /,/, $_; die "Request Id $id already present in file\n" if $array[0] eq $id;