my %sheets; [...] # The next three methods are equivalent. Pick whichever you like most. # 1 if (not exists $sheets{$machine_sheetname}) { $sheets{$machine_sheetname} = 1; # "1" is just a dummy existence flag } # 2 $sheets{$machine_sheetname} = 1 unless $sheets{$machine_sheetname}; # 3 $sheets{$machine_sheetname} ||= 1; #### keys %sheets;