(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_description) op: Equal rhs: {(SQ <'compare address parsing with and without Mail::Address'>)} ) ] ) (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) op: Equal rhs: {(SQ <'skipping perl interface tests, perl not available'>)} ) ] ) (C {(test_done)}) ] ) ] ) (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) op: Equal rhs: {(DQ ('Perl Test::More unavailable, skipping test'))} ) ] ) (C {(test_done)}) ] ) ] ) (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) op: Equal rhs: {(DQ ('Perl Mail::Address unavailable, skipping test'))} ) ] ) (C {(test_done)}) ] ) ] ) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:test_external_has_tap) op:Equal rhs:{(1)})] ) (C {(test_external_without_stderr)} {(SQ <'Perl address parsing function'>)} {(perl)} {(DQ ($ VSub_DollarName '$TEST_DIRECTORY')) (/t9000/test.pl)} ) (C {(test_done)}) ] )