#!/usr/bin/env perl use warnings; use strict; use 5.014; if ($#ARGV < 2) { say "USAGE: $0 -s msg recipient '$#ARGV'"; exit 1; } sub escape { my $arg = shift; $arg =~ s/'/'\\''/g; return "'" . $arg . "'"; } my $msg = escape $ARGV[1]; my $recipient = escape $ARGV[2]; die "no job id passed via argv" unless $msg =~ /Job_id=(\d+)/; my $id = $1; open my $job_fh, "/var/log/slurm/job_completions" or die "Could not open slurms jobcompletion: $!"; my @matches = grep /$id/, <$job_fh>; close $job_fh; if ($#matches < 0) { die "job id $id not found"; } $matches[0] =~ s/\s+/\n/g; my $new_msg = $matches[0]; open my $mail, "| mail -s $msg $recipient"; print $mail $new_msg; close $mail;