(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(perl-test-harness)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgreal) op:Equal rhs:{(Test-Harness)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.39)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('Run Perl standard test scripts with statistics'))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://search.cpan.org/dist/Test-Harness/'))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:license)
          op: Equal
          rhs: {(DQ ('GPL PerlArtistic'))}
          spids: [36]
        )
      ]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cpandepends) op:Equal rhs:{(DQ )} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:cpanmakedepends) op:Equal rhs:{(DQ ('   '))} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$cpandepends'))}
          spids: [50]
        )
      ]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ('perl-dev ') ($ VSub_Name '$cpanmakedepends'))}
          spids: [55]
        )
      ]
      spids: [55]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$pkgname') ('-doc ') ($ VSub_Name '$pkgname') (-utils))}
          spids: [61]
        )
      ]
      spids: [61]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://search.cpan.org/CPAN/authors/id/L/LE/LEONT/') ($ VSub_Name '$_pkgreal') (-) 
                ($ VSub_Name '$pkgver') (.tar.gz)
              )
            }
          spids: [69]
        )
      ]
      spids: [69]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$_pkgreal') (-) ($ VSub_Name '$pkgver'))}
          spids: [78]
        )
      ]
      spids: [78]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(export)} 
              {(Lit_VarLike 'CFLAGS=') 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(perl)} {(-MConfig)} {(-E)} {(SQ <'say $Config{ccflags}'>)})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [105 115]
                )
              }
            )
            (SimpleCommand
              words: [{(perl)} {(Makefile.PL)} {(Lit_VarLike 'INSTALLDIRS=') (vendor)}]
              more_env: [(env_pair name:PERL_MM_USE_DEFAULT val:{(1)} spids:[118])]
            )
          ]
          spids: [92]
        )
      spids: [88 91]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(export)} 
              {(Lit_VarLike 'CFLAGS=') 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(perl)} {(-MConfig)} {(-E)} {(SQ <'say $Config{ccflags}'>)})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [148 158]
                )
              }
            )
            (AndOr children:[(C {(make)})(C {(make)} {(test)})] op_id:Op_DAmp)
          ]
          spids: [135]
        )
      spids: [131 134]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$pkgdir'))} {(install)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(find)} {(DQ ($ VSub_Name '$pkgdir'))} 
              {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-name)} {(perllocal.pod)} {(-o)} {(-name)} {(.packlist)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-delete)}
            )
          ]
          spids: [176]
        )
      spids: [172 175]
    )
    (FuncDef
      name: utils
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgdesc') (' (utilities)'))}
                  spids: [234]
                )
              ]
              spids: [234]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$pkgname') (' perl'))}
                  spids: [241]
                )
              ]
              spids: [241]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:replaces)
                  op: Equal
                  rhs: {(DQ (perl-utils))}
                  spids: [248]
                )
              ]
              spids: [248]
            )
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$subpkgdir')) (/usr)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(mv)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/bin)} 
              {(DQ ($ VSub_Name '$subpkgdir')) (/usr/)}
            )
          ]
          spids: [231]
        )
      spids: [227 230]
    )
    (FuncDef
      name: doc
      body: 
        (BraceGroup
          children: [
            (C {(default_doc)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:replaces)
                  op: Equal
                  rhs: {(DQ (perl-doc))}
                  spids: [295]
                )
              ]
              spids: [295]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:file) op:Equal spids:[303])]
                  spids: [301]
                )
              terminator: <Op_Semi ';'>
            )
            (ForEach
              iter_name: file
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$pkgdir'))} {(-name)} {(DQ ('*.pod'))})
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [312 324]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:file)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name file>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_Pound
                                    arg_word: {($ VSub_Name '$pkgdir') (Lit_Slash /)}
                                  )
                                spids: [331 336]
                              )
                            }
                          spids: [330]
                        )
                      ]
                      spids: [330]
                    )
                    (AndOr
                      children: [
                        (C {(mkdir)} {(-p)} 
                          {(DQ ($ VSub_Name '$subpkgdir')) (/) 
                            (BracedVarSub
                              token: <VSub_Name file>
                              suffix_op: 
                                (StringUnary
                                  op_id: VOp1_Percent
                                  arg_word: {(Lit_Slash /) ('*')}
                                )
                              spids: [347 352]
                            )
                          }
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (AndOr
                      children: [
                        (C {(mv)} {(DQ ($ VSub_Name '$pkgdir')) (/) ($ VSub_Name '$file')} 
                          {(DQ ($ VSub_Name '$subpkgdir')) (/) ($ VSub_Name '$file')}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [327 382]
                )
              spids: [311 325]
            )
          ]
          spids: [289]
        )
      spids: [285 288]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'5465e0ce0f96da5656d8f45bbb490a7dab356f862093851e85372af1dd8ac4bcd074666efd9887582e71bd95e2340490589f561d8518a1bf8a312d156c020266  Test-Harness-3.39.tar.gz'
                )
              )
            }
          spids: [387]
        )
      ]
      spids: [387]
    )
  ]
)