All pastes #827590 Raw Edit

Anonymous

public text v1 · immutable
#827590 ·published 2007-12-21 21:34 UTC
rendered paste body
#!/usr/bin/perl


sub beep($$)
{
        my $freq = shift;
        my $ms   = shift;
        $esc = chr(27);

        if ($freq < 1) {
                $freq = 1;
        }
        if ($freq > 20000) { #20 khz
                $freq = 20000;
        }
        if ($ms < 1) {
                $ms = 1;
        }
        if ($ms > 10000) { #10 sec
                $ms = 10000;
        }
        open(CONS,">/dev/console");        
        print CONS $esc . "[10;" . $freq . "]",    #set freq
                $esc . "[11;" . $ms   . "]",    #set delay
                chr(7) ,                        #beep (ascii bell)
                $esc, "[10]",                   #reset freq
                $esc, "[11]";                   #reset delay
        select(undef, undef, undef, ($ms / 1000));
        close(CONS);
}

sub beep_type {
my($type,@null)=@_;
if ($type eq "high") {
        for (my $n=0; $n<5; $n++) {
                beep(3000,100);
                beep(6000,300);
        }
}

if ($type eq "up") {
        for (my $n=0; $n<100; $n++) {
                beep($n*20,10);
        }
}

if ($type eq "3up") {
        for (my $n=0; $n<33; $n++) {
                beep($n*20,10);
        }
        for (my $n=0; $n<33; $n++) {
                beep($n*20,10);
        }
        for (my $n=0; $n<33; $n++) {
                beep($n*20,10);
        }
}

if ($type eq "down") {
        for (my $n=100; $n>0; $n--) {
                beep($n*20,10);
        }
}
if ($type eq "3down") {
        for (my $n=33; $n>0; $n--) {
                beep($n*20,10);
        }
        for (my $n=33; $n>0; $n--) {
                beep($n*20,10);
        }
        for (my $n=33; $n>0; $n--) {
                beep($n*20,10);
        }
}

if ($type eq "wave") {
        for (my $n=0; $n<5; $n++) {
                beep(220,500);
                beep(110,1000);
        }
}

if ($type eq "deepdown") {
        for (my $n=0; $n<1; $n++) {
                beep(220,250);
                beep(110,500);
                beep(55,1500);
        }
}

if ($type eq "sirene") {
        for (my $n=0; $n<3; $n++) {
                beep(2000,250);
                beep(4000,500);
        }
        for (my $n=0; $n<3; $n++) {
                beep(2000,125);
                beep(4000,250);
        }
        for (my $n=0; $n<3; $n++) {
                beep(2000,250);
                beep(4000,500);
        }
}
###END sub beep_type
}

#if ( $ARGC = 0) {
#print ("$ARGV[0] up | 3up | down | 3down | wave | deepdown | sirene\n");
#}
&beep_type("$ARGV[0]");