After a script is finished, $1- is gone. Anything sent from the command line is basically a "script" and each time you hit enter, the next thing you type is a new "script". So if you want to use something like /tokenize from the command line, you have to use | to place multiple commands on a single line. If you use it in an actual script using an event or alias, then you don't need to do that.

* It really isn't a script from the command line, but I used that word to get the idea across. smile