(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description spids:[12])
          op: Equal
          rhs: {(SQ <'compare address parsing with and without Mail::Address'>)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (command.Pipeline children:[(C {(test_have_prereq)} {(PERL)})] negated:T)
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:skip_all spids:[34])
                  op: Equal
                  rhs: {(SQ <'skipping perl interface tests, perl not available'>)}
                  spids: [34]
                )
              ]
              spids: [34]
            )
            (C {(test_done)})
          ]
          spids: [16777215 31]
        )
      ]
      spids: [16777215 42]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (command.SimpleCommand
          words: [{(perl)} {(-MTest) (Lit_Other ':') (Lit_Other ':') (More)} {(-e)} {(0)}]
          redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
        )
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:skip_all spids:[64])
                  op: Equal
                  rhs: {(DQ ('Perl Test::More unavailable, skipping test'))}
                  spids: [64]
                )
              ]
              spids: [64]
            )
            (C {(test_done)})
          ]
          spids: [61]
        )
      ]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (command.SimpleCommand
          words: [{(perl)} {(-MMail) (Lit_Other ':') (Lit_Other ':') (Address)} {(-e)} {(0)}]
          redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
        )
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:skip_all spids:[94])
                  op: Equal
                  rhs: {(DQ ('Perl Mail::Address unavailable, skipping test'))}
                  spids: [94]
                )
              ]
              spids: [94]
            )
            (C {(test_done)})
          ]
          spids: [91]
        )
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_external_has_tap spids:[105])
          op: Equal
          rhs: {(1)}
          spids: [105]
        )
      ]
      spids: [105]
    )
    (C {(test_external_without_stderr)} {(SQ <'Perl address parsing function'>)} {(perl)} 
      {(DQ ($ VSub_Name '$TEST_DIRECTORY')) (/t9000/test.pl)}
    )
    (C {(test_done)})
  ]
)