Du kannst das erste Skript schon verkürzen, indem Du die Redundanzen entfernst. Die Ausgabe wiederholst Du in jedem Zweig, wozu?
Deklariere $result oberhalb der if-Zweige; über die if-Zweige setzt Du dann nur die Berechnung für $result um und danach gibst Du dann das Ergebnis einmal aus:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use strict;
use warnings;
use 5.014;
my $time = <STDIN>;
chomp $time;
my $result;
if ($time <= 49) {
$result = $time / 1;
} elsif ($time <= 99) {
$result = $time / 2 * 1;
} elsif ($time <= 199) {
$result = $time / 3 * 2;
} elsif ($time <= 299) {
$result = $time / 4 * 3;
} elsif ($time <= 500) {
$result = $time / 5 * 4;
}
print "Time Points\n";
printf "%3f %3f\n", $time, $result;