in reply to difficult to split on "|"

Since "|" is a meta charactor, you were actually using the empty pattern: "//", which is splitting at the null string:
print join(",",split(//, "oneX|twoX|threeX")); __OUTPUT__ o,n,e,X,|,t,w,o,X,|,t,h,r,e,e,X