#!/usr/bin/perl -l use strict; use warnings; use Getopt::Std; our ($opt_s); getopts('s'); # get the range boundaries my $range_start = ( $opt_s ) ? $ARGV[0] : $ARGV[0] + 1; my $range_end = $ARGV[1]; # compute the sum of the range my $range_length = $range_end - $range_start + 1; my $range_sum = ($range_start + $range_end) * $range_length / 2; print $range_sum; #### my $range_start = $ARGV[0]; $range_start++ if ( $opt_s ); #### if ( $ARGV[0] !~ m{ \A [+-]? \d+ \z }xms || $ARGV[1] !~ m{ \A [+-]? \d+ \z }xms ) { die "usage: $0 [-s] \n"; }