1: $cppawk ' #include BEGIN { #if defined case_temps && defined case && defined of && \ defined matching && defined cbreak && defined otherwise print 1 #endif }' : 1 -- 2: printf "%s\n" foo bar xyzzy x b | $cppawk ' #include { case ($0) { of ("foo") print "** foo case: fallthrough!" cfall; of ("bar", "xyzzy") { print "** bar/xyzzy case" cbreak; } matching (/x/) print "** /x/ case" cbreak; otherwise print "** default" cbreak; } }' : ** foo case: fallthrough! ** bar/xyzzy case ** bar/xyzzy case ** bar/xyzzy case ** /x/ case ** default -- 3: $cppawk ' #include function f(arg, case_temps) { case (arg) { of (1, 2, 3) cret(arg * 10) otherwise cret(-arg) } } BEGIN { print f(1), f(2), f(3), f(4) }' : 10 20 30 -4