#!/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[$%++]}