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