cat reciprocity | perl -ne '%myself=(i,me,me,i,we,us,us,we); sub i{my $final; ($_=shift)=~s/_//g; print ((join " ",(reverse map { $myself{$_}?$myself{$_} : ((m/^(\S+).*/, exists $myself{$1})? scalar((($final=$_)=~s/^(\S+)\s+//, $myself{$1})) : $_)} @_)),(substr($_[0],-1,1) eq q|s|? "\b" : ""),(substr($_[1],-1,1) eq q|s|)? q|| : q|s|," ",$myself{$_}?$myself{$_} : $_," $final\n") }; s/(\S+)\s+(\S+)\s+(.*)/$1 _$1_, $2, "$3"/; *$1=\&i if ($1); %dicc=(map { (@{$_},reverse @{$_}) } ([guide,follow],[jump,unjump])); s/(guide|follow)/$dicc{$1}/;eval;'