Golf - implement a simple templating scheme.
Expansions are:
- %KEY% -> VALUE
- %% -> %
Command line arguments:
- ARG1: dictionary file, formatted in the
key=value
style as in example - ARG2: template file
Here my not quite golf attempt(python): 261 chars.
import sys
dd = dict([ll.split("=",2) for ll in open( sys.argv[1],'r') if len(ll.split("=", 2)) == 2])
tt = "".join([ ll for ll in open( sys.argv[2],'r')])
sys.stdout.write("".join([(((s == "") and "%") or ((s in dd) and dd[s]) or s) for s in tt.split("%")]))
DICT
NAME=MyName
ODDS=100
TEMPLATE
I, %NAME% am %ODDS% %% sure that that this a waste of time.
RESULT
I, My Name am 100 % sure that this is a waste of time.
Yes, I realize this is a defective templating system, "snaps" for a shorter and better implementation.