(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"compare address parsing with and without Mail::Address">)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (Pipeline children:[(C {(test_have_prereq)} {(PERL)})] negated:True)
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:skip_all)
                  op: Equal
                  rhs: {(SQ <"skipping perl interface tests, perl not available">)}
                  spids: [26]
                )
              ]
              spids: [26]
            )
            (C {(test_done)})
          ]
          spids: [-1 23]
        )
      ]
      spids: [-1 34]
    )
    (AndOr
      children: [
        (SimpleCommand
          words: [{(perl)} {(-MTest) (Lit_Other ":") (Lit_Other ":") (More)} {(-e)} {(0)}]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[48])]
        )
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:skip_all)
                  op: Equal
                  rhs: {(DQ ("Perl Test::More unavailable, skipping test"))}
                  spids: [56]
                )
              ]
              spids: [56]
            )
            (C {(test_done)})
          ]
          spids: [53]
        )
      ]
      op_id: Op_DPipe
    )
    (AndOr
      children: [
        (SimpleCommand
          words: [{(perl)} {(-MMail) (Lit_Other ":") (Lit_Other ":") (Address)} {(-e)} {(0)}]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[78])]
        )
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:skip_all)
                  op: Equal
                  rhs: {(DQ ("Perl Mail::Address unavailable, skipping test"))}
                  spids: [86]
                )
              ]
              spids: [86]
            )
            (C {(test_done)})
          ]
          spids: [83]
        )
      ]
      op_id: Op_DPipe
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:test_external_has_tap) op:Equal rhs:{(1)} spids:[97])]
      spids: [97]
    )
    (C {(test_external_without_stderr)} {(SQ <"Perl address parsing function">)} {(perl)} 
      {(DQ ($ VSub_Name "$TEST_DIRECTORY")) (/t9000/test.pl)}
    )
    (C {(test_done)})
  ]
)