#!/usr/bin/perl -w
use strict;
use warnings;
use Data::Dumper;
use File::Basename;

# linear random numbers

my $prog = basename($0);
die "usage: $prog min max\n" if @ARGV > 2;

my ($min, $max) = (0, 1);
($max) = @ARGV if @ARGV == 1;
($min, $max) = @ARGV if @ARGV == 2;
my $range = $max - $min;

while (1) {
    my $rand = rand($range) + $min;
    print fmt_num($rand), "\n";
}

sub fmt_num {
    local ($_) = @_;
    $_ = sprintf("%.08f", $_);
    if (/\./) {
        s/0+$//; s/\.$//;
    }
    return $_;
}

