#!/usr/bin/perl
use strict;
use warnings;
my $line1 = 'asdadAADSAsdfsfASASDjljsdASDAS';
my $line2 = 'GKHSKJADHasdadhkadhGHKJHKJHasdada';
for my $word( $line1, $line2 ){
print "Before: $word\n After: ";
$word =~ /((\w)\W*(?{ ord $2 > 96 })(?{ print $^R ? uc $2 : lc $2 }))+/;
print "\n\n";
}
####
Before: asdadAADSAsdfsfASASDjljsdASDAS
After: ASDADaadsaSDFSFasasdJLJSDasdas
Before: GKHSKJADHasdadhkadhGHKJHKJHasdada
After: gkhskjadhASDADHKADHghkjhkjhASDADA
####
$,=42;for(34,0,-3,9,-11,11,-17,7,-5){$*.=pack'c'=>$,+=$_}for(reverse split//=>$*
){$%++?$ %%2?push@C,$_,$":push@c,$_,$":(push@C,$_,$")&&push@c,$"}$C[$#C]=$/;($#C
>$#c)?($ c=\@C)&&($ C=\@c):($ c=\@c)&&($C=\@C);$%=$|;for(@$c){print$_^$$C[$%++]}