#! perl -slw use strict; sub swab{ substr( $_[0], $_[1], 1 ) ^= substr( $_[0], $_[2], 1 ) ^= substr( $_[0], $_[1], 1 ) ^= substr( $_[0], $_[2], 1 ) } my $t ='AB'; swab( $t, 0, 1 ); print "'$t'"; print "'$t'"; $t ='AB'; swab( $t, 0, 1 ); print "'$t'"; print "'$t'"; __END__ P:\test>swab 'BA' 'BA' ' A' ' A'