|ftp ([a-zA-Z][\w+\-]+(\.[\w\.+\-]+)+\.[a-zA-Z]{2,})|
-h-> ftp $1
# host with "ftp" in the machine name
|(^|[^\w\d\-/\.:!]|^)(([a-zA-Z][\w+\-]*)?ftp[\w+\-]*\.[\w\.+\-]+\.[a-zA-Z]{2,})([^\w\d\-/\.:!])|
-h-> $1ftp $2$4
# ftp.foo.net/blah/
|ftp(\.[a-zA-Z0-9_\@:-]+)+/\S+| -> ftp://$&
# www.thehouse.org/txt2html/
|www(\.[a-zA-Z0-9_\@:-]+)+/\S+| -> http://$&
# host with "www" in the machine name
|(^|[^\w\d\-/\.:!]|^
)(([a-zA-Z][\w+\-]*)?www[\w+\-]*\.[\w\.+\-]+\.[a-zA-Z]{2,})([^\w\d\-/\.:!\@])|
-h-> $1$2$4
#
|([a-zA-Z][\w+\-]+\.[\w+\-]+\.[a-zA-Z]{2,})\s+(\d{2,4})|
-h-> $1 $2
# just the site name:
# But this gets mixed up with things line .tar.gz files!
# |([^\w\-/\.:\@>])([a-zA-Z][\w+\-]+(\.[\w+\-]+)+\.[a-zA-Z]{2,})|
# -h-> $1$2/
# just internet numbers with port:
|([^\w\-/\.:\@])(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(\d{1,4})|
-h-> $1$2 $3
# just internet numbers:
|([^\w\-/\.:\@])(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|
-h-> $1$2
# (see "relative path") as used by Tom Fine
# /\(see \"([^\"]+)\"\)/ -> $1.html
# RFCs
/RFC ?(\d+)/ -i-> http://www.cis.ohio-state.edu/rfc/rfc$1.txt
# This would turn "f^H_o^H_o^H_" into "foo". Gross, isn't it?
# Thanks to Mark O'Dell for fixing this.
#
# /(.\\010_)+/ -he-> $tmp = $&;$tmp =~ s@\010_@@g;"$tmp"
# /(_\\010.)+/ -he-> $tmp = $&;$tmp =~ s@_\010@@g;"$tmp"
# /(.\^H_)+/ -he-> $tmp = $&;$tmp =~ s@\^H_@@g;"$tmp"
# /(_\^H.)+/ -he-> $tmp = $&;$tmp =~ s@_\^H@@g;"$tmp"
# |
| -hie-> print "
\n"; open(F,$2); my $foo=; close(F); $foo;
# Rule for inserting actual image instead
# |
$&
# |^\#!/usr/bin/txt2html| -hi -> ''
# End of sample dictionary