(CommandList children: [ (C {(printf)} {(DQ ('Status: 500 Intentional Breakage') (Lit_Other '\\') (n))}) (C {(printf)} {(DQ ('Content-Type: '))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:charset) op:Equal rhs:{(iso-8859-1)} spids:[19])] spids: [19] ) (Case to_match: {(DQ ($ VSub_Name '$PATH_INFO'))} arms: [ (case_arm pat_list: [{(Lit_Other '*') (html) (Lit_Other '*')}] action: [(C {(printf)} {(DQ (text/html))})] spids: [30 33 43 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (text) (Lit_Other '*')}] action: [(C {(printf)} {(DQ (text/plain))})] spids: [45 48 58 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (charset) (Lit_Other '*')}] action: [ (C {(printf)} {(DQ ('text/plain; charset=utf-8'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:charset) op:Equal rhs:{(utf-8)} spids:[73])] spids: [73] ) ] spids: [60 63 77 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (utf16) (Lit_Other '*')}] action: [ (C {(printf)} {(DQ ('text/plain; charset=utf-16'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:charset) op:Equal rhs:{(utf-16)} spids:[92])] spids: [92] ) ] spids: [79 82 96 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (odd-spacing) (Lit_Other '*')}] action: [ (C {(printf)} {(DQ ('text/plain; foo=bar ;charset=utf-16; other=nonsense'))}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:charset) op:Equal rhs:{(utf-16)} spids:[111])] spids: [111] ) ] spids: [98 101 115 16777215] ) ] spids: [22 28 117] ) (C {(printf)} {(DQ (Lit_Other '\\') (n))}) (C {(printf)} {(DQ (Lit_Other '\\') (n))}) (Pipeline children: [ (C {(printf)} {(DQ ('this is the error message') (Lit_Other '\\') (n))}) (C {(iconv)} {(-f)} {(us-ascii)} {(-t)} {($ VSub_Name '$charset')}) ] negated: F ) ] )