for my $file (`ls -l /some/dir`) { ... }
####
opendir(DIR, $some_dir) || die "can't opendir $some_dir: $!";
@files= grep { -f "$some_dir/$_" } readdir(DIR);
closedir DIR;
####
#
# mailit - send an email using mailx. Accepts either a $body or a path
# to a file
#
# Args:
# $subject - email subject
# either:
# $body - body of email in scalar var, or
# $fname - path to file to send.
# @emails - list of email addresses to send email to
#
sub mailit {
my ( $subj, $body, $fname, @email ) = @_;
my($mailcmd) = "mailx -s\"$subj\"";
die "Invalid mailit args\n" unless ($subj and ($body or $fname));
if ($body) {
foreach ( @email ) {
open( PI, "|$mailcmd $_" ) or warn "Pipe to mailx failed: $mailcmd\n";
print PI $body;
print PI "\n.\n";
close PI;
}
} elsif ($fname) {
die "Bad mailit path $fname\n " unless -e $fname;
foreach ( @email ) {
`$mailcmd $_ < $fname` or warn "bad mailx response: $?, $!";
}
}
}