summaryrefslogtreecommitdiff
path: root/ipl/packs/loadfuncpp/examples/hexwords.icn
diff options
context:
space:
mode:
Diffstat (limited to 'ipl/packs/loadfuncpp/examples/hexwords.icn')
-rw-r--r--ipl/packs/loadfuncpp/examples/hexwords.icn18
1 files changed, 18 insertions, 0 deletions
diff --git a/ipl/packs/loadfuncpp/examples/hexwords.icn b/ipl/packs/loadfuncpp/examples/hexwords.icn
new file mode 100644
index 0000000..43c35ca
--- /dev/null
+++ b/ipl/packs/loadfuncpp/examples/hexwords.icn
@@ -0,0 +1,18 @@
+procedure printable(word)
+ if ("" == word) then {
+ return "";
+ } else {
+ return map(map(word, "oOiIzZeEsStT", "001122335577"), &lcase, &ucase);
+ }
+end
+procedure main(arg)
+ word_file := "/usr/share/dict/words";
+ find := '0123456789abcdefABCDEFoOiIzZeEsStT';
+ usage := "Finds all the words in a word file that can be written using /^[A-Fa-f0-9$/";
+ words := open(word_file) | stop("Unable to open: " || word_file)
+ while word := trim(read(words)) do {
+ if ('' == word -- find) then {
+ write(printable(word) || " " || word);
+ }
+ }
+end