Many Windows commands only accept paths using backslashes, because
slashes are option separators.
Add a showfile() function that takes a pathname as an argument and:
on Windows, converts the pathname to canonical form - which
means any slashes will be converted to backslashes - and run
"type" on it;
on UN*X, run "cat" on it.
Convert
cat foo | diff bar -
to
diff bar foo
to avoid using cat at all. (Note also that the closest built-in Windows
equivalent of diff, fc, does *not* support reading the standard input as
one of the files to compare, so it also will avoid that when we change
those to use fc on Windows.)
The one remaining use of cat is in a command with pathnames, so use a
type command, with backslash-separated paths, on Windows, and cat, with
slash-separated paths, on UN*X.
We might just want to do that directly in Perl; add a comment about
that.