foreach my $employee (@employees) {
if ( $employee->salary < $threshold ) {
increase_salary( $employee, 3_000 );
}
}
####
use strict;
use warnings;
my %Undef = ( Show => 'okay', Go => 'maybe', );
foreach my $key ( keys %Undef )
{ if ( ! defined $Undef{$key} ) { print "1. $key value is undefined!\n"; }
}
$Undef{Salary} = undef;
foreach my $key ( keys %Undef )
{ if ( ! defined $Undef{$key} ) { print "2. $key value is undefined!\n"; }
}
open ( my $file, ">","./ondisk") || die " ! open |./ondisk| $!\n";
foreach my $key ( keys %Undef )
{ print $file "$key\t$Undef{$key}\n"; ## line 20
}
close $file;
my %Defined; print "\n";
open ( $file, "<","./ondisk") || die " ! open |./ondisk| $!\n";
while ( my $value = <$file> )
{ chomp $value;
my ( $newkey, $newvalue ) = split(/\t/,$value);
$Defined{$newkey} = $newvalue;
}
close $file;
foreach my $key ( keys %Defined )
{ if ( defined $Defined{$key} ) { print "$key\t|$Defined{$key}|\n"; }
}
1;
##
##
> perl unknown.plx
2. Salary value is undefined!
Use of uninitialized value $Undef{"Salary"} in concatenation (.) or string at unknown.plx line 20.
Go |maybe|
Salary ||
Show |okay|