my %hash; open my $fh,$file or die "$file : $!"; while (<$fh>) { my ($key,$value) = split /\|/; warn "$_ seems not to be formatted correctly" unless defined($key) and length($key); $hash{$key}=$value; }