##
sub a(@){$,=$"; shift =~ /$"@m$/; @_}
$_='Not Another Hacker Just Perl';
@m=qw(& 3 1 4 2);
$"=',$';
print eval's/^.*$/$"=" "/me; @m=("(.*)")x$#m;a $'."@m";
####
sub b(@) {shift =~ / (.*) (.*) (.*) (.*)/; @_}
$, = ' ';
print b 'Not Another Hacker Just Perl', $3, $1, $4, $2;