|
| anti CAPS LOCK Fra : John Doe |
Dato : 13-12-00 05:30 |
|
Jeg laver et script som finder ud af at der bruges CAPS LOCK. Jeg henter
indtastede besked/tekst tæller 3 efterfølgende ord, hvis alle 3 ord
inkluderer KUN store bogstaver laves alle store bogstaver i beskeden/teksten
om til små bogstaver. Dette gør jeg med følgende sub rutine:
sub anti_CAPS{
my $caps_count = 0;
for ($i = 1; $i < $#messsage; $i++){
if($messsage[$i] !~ /a-z/){
$caps_count++;
if ($messsage[$i+1] !~ /a-z/){
$caps_count++;
if ($messsage[$i+2] !~ /a-z/){
$caps_count++;
}
}
$caps_count = 0 if ($caps_count < 3);
}
}
if ($caps_count >= 3){
$IN{'mesg'} = lc($IN{'mesg'}) . "<b>(CAPS LOCK HAS BEEN
FILTERED)</b>";
}
}
$IN{'mesg'} er beskeden/teksten og @messsage er et array der indeholder
ordene af $IN{'mesg'}. Min sub rutine kontrollere bare ikke om alle
bogstaver i ordet er store. Kontrol delen returnere sandt hvis bare en
enkelt bogstav er store.. Hvordan kan jeg få min sub rutine til at
komtrollere om ALLE bogstaver er store, ikke kun en enkelt?
| |
Lars Kim Lund (13-12-2000)
| Kommentar Fra : Lars Kim Lund |
Dato : 13-12-00 08:29 |
|
Hej "John Doe" <fatih@ofir.dk>
>enkelt bogstav er store.. Hvordan kan jeg få min sub rutine til at
>komtrollere om ALLE bogstaver er store, ikke kun en enkelt?
Lave en regexp der tæller antal store bogstaver + mellemrum, hvis
antaller == strengens længde er dit kriterie opfyldt.
--
Lars Kim Lund
http://www.net-faq.dk/
| |
Thorbjørn Ravn Ander~ (13-12-2000)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 13-12-00 10:41 |
|
Lars Kim Lund wrote:
> >enkelt bogstav er store.. Hvordan kan jeg få min sub rutine til at
> >komtrollere om ALLE bogstaver er store, ikke kun en enkelt?
>
> Lave en regexp der tæller antal store bogstaver + mellemrum, hvis
> antaller == strengens længde er dit kriterie opfyldt.
print "!" if ( $a eq uc $a);
--
Thorbjørn Ravn Andersen "...sound of...Tubular Bells!"
http://bigfoot.com/~thunderbear
| |
Lars Kim Lund (13-12-2000)
| Kommentar Fra : Lars Kim Lund |
Dato : 13-12-00 10:52 |
|
Hej Thorbjørn Ravn Andersen <thunderbear@bigfoot.com>
>print "!" if ( $a eq uc $a);
Nåja, hvis det skal være let.
--
Lars Kim Lund
http://www.net-faq.dk/
| |
Peter J. Acklam (13-12-2000)
| Kommentar Fra : Peter J. Acklam |
Dato : 13-12-00 13:10 |
|
"John Doe" <fatih@ofir.dk> writes:
> if($messsage[$i] !~ /a-z/){
^^^
Du mener vel [a-z]?
Peter
--
$\="\n";$_='The quick brown fox jumps over the lazy dog';print +(split
//)[20,5,24,31,3,36,14,12,31,1,2,11,9,23,33,29,35,15,32,36,7,8,28,29];
| |
John Doe (13-12-2000)
| Kommentar Fra : John Doe |
Dato : 13-12-00 16:31 |
|
ja, det var det jeg mente, men virkede ikke som jeg ville have. jeg har
så prøvet Thorbjørns forslag, det virker udmærket. Tak for sbaret guys..
Peter J. Acklam skrev i meddelelsen ...
>"John Doe" <fatih@ofir.dk> writes:
>
>> if($messsage[$i] !~ /a-z/){
> ^^^
>
>Du mener vel [a-z]?
>
>Peter
>
>--
>$\="\n";$_='The quick brown fox jumps over the lazy dog';print +(split
>//)[20,5,24,31,3,36,14,12,31,1,2,11,9,23,33,29,35,15,32,36,7,8,28,29];
| |
|
|