ラーメンタイマー

学部生の時にPerlで書いたラーメンタイマーが出てきたので、記録として貼り付けておきます。

#!/usr/bin/env perl

$start_time = time;
$end_time = $start_time + 60 * shift;

print "Start Cooking\n";
while (time <= $end_time) {
    my $time_now = time;
    printf("\r%3d", $end_time - $time_now);
    while ($time_now == time) {}
    flush(STDOUT);
}
print "\rDone.\n";


sub flush (*) {
    local($old) = select(shift);
    $| = 1;
    print '';
    $| = 0;
    select($old);
}

コマンドラインから

$ ramen 3

などとすると、3分間を計ってくれます、