I take everything back, it still does not work. I tried to change [1] to [2] to see if it sees the "&", but I got this:
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
Use of uninitialized value in string comparison (cmp) at zs line 14, <_file_> line 16.
���&&
sss&&aaa
zzz&&
uuu&&
�as&&
sa�&&
cab&&
uu&&
uu&&
&&
bbc&aaa&aaa
mmn&aaa&ccc
aaa&aaa&bbb
lmn&bbb&aaa
aaa&bbb&ccc
aaa&ccc&ddd
I've also tried it on the real file, and it does not work properly.
With your modifications I get this:
���&&
sss&&aaa
zzz&&
uuu&&
�as&&
sa�&&
cab&&
uu&&
uu&&
&&
bbc&aaa&aaa
mmn&aaa&ccc
aaa&aaa&bbb
lmn&bbb&aaa
aaa&bbb&ccc
aaa&ccc&ddd
I also tried to download from cpan Sort::Fields but cannot make it to work the way I expect. Sometimes you really feel ignorant.