#!/usr/bin/perl -wl use strict; my $errmsg = 'Invalid argument passed'; $_ = shift or die $errmsg; s/\s+//g; /^(\d+)[dD](\d+)([+-]\d+)?$/ or die $errmsg; my $sum = 0; $sum += 1 + int rand $2 for 1..$1; $sum += $3 if defined $3; print $sum;