use warnings; use strict; my %Defaults = (TEMP => q(\QC:\DOCUME~1\z002n88f\LOCALS~1\Temp\E), LOGONSERVER => q(\\MOLLY2), NUMBER_OF_PROCESSORS => 2, OS => q(Windows_NT)); while (my ($key, $value) = each %Defaults) { if (exists $ENV{$key} and $ENV{$key} eq $value) { print "$key is cool\n"; } else { print "$key is $value\n" } }