I'm curious. Why does Ferret process the parameters before assigning them to ($1), ($2), etc.? (That must be the reason why the whitespaces must be escaped.)
For example,
$ ferret -script tmp.jnl 'hello' '$3' 'world'
1st--hello--
2nd--world--
3rd--world--
$
The second argument is replaced with the third! (No, it's not the shell that does the substitution.)
This must be by design. But how is this feature supposed to be used?