> it breaks this representation where each step is piped into the next one
No it doesn't?
< access.log head -n 500 | grep mail | perl -e …
is completely valid, and reads right-to-left as well as the cat version. IMO using stdin is preferable to either solution in TFA.