sub mail { foreach my $user (@users) { #print "recipient is: $user\n"; print "@users\n"; for my $a (split //,$user) { print "Character: $a, Ord " . ord($a) ."\n" } my %message = ( To => $user, From => 'root@localhost', Subject => 'Disk usage summary', Message => $summary ); sendmail(%message) or die $Mail::Sendmail::error; } #print "Log says: \n", $Mail::Sendmail::log; } prints this when run: ~/scripts/dirmonitor -r -m -d . Inspecting directory: . ... ccoffey 0.00 GB ccoffey Character: c, Ord 99 Character: c, Ord 99 Character: o, Ord 111 Character: f, Ord 102 Character: f, Ord 102 Character: e, Ord 101 Character: y, Ord 121 No recipient!No recipient! Seems fine eh? Something seems broke in the sendmail module? Or only thing i can think of is it doesn't like assigning a scalar to the key value?