#!/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]");