(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<perl-anyevent-dns-etchosts>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_pkgreal)
          op: assign_op.Equal
          rhs: {<AnyEvent-DNS-EtcHosts>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<0.0103>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'Use /etc/hosts before DNS'>)}
          spids: [21]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://search.cpan.org/dist/AnyEvent-DNS-EtcHosts/'>)}
          spids: [26]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <noarch>)}
          spids: [31]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <'GPL PerlArtistic'>)}
          spids: [36]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:cpandepends)
          op: assign_op.Equal
          rhs: {(DQ <perl-anyevent>)}
          spids: [41]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:cpanmakedepends)
          op: assign_op.Equal
          rhs: {(DQ <perl-test-deep>)}
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:cpancheckdepends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [51]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$cpandepends'))}
          spids: [55]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <'perl-dev perl-module-build '> ($ Id.VSub_DollarName '$cpanmakedepends'))}
          spids: [60]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:checkdepends)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$cpancheckdepends'))}
          spids: [66]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-doc>)}
          spids: [71]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'http://search.cpan.org/CPAN/authors/id/D/DE/DEXTER/'> 
                ($ Id.VSub_DollarName '$_pkgreal') <-> ($ Id.VSub_DollarName '$pkgver') <.tar.gz>
              )
            }
          spids: [77]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$_pkgreal') <-> 
                ($ Id.VSub_DollarName '$pkgver')
              )
            }
          spids: [86]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<default_prepare>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<export>} 
              {<Id.Lit_VarLike 'CFLAGS='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<perl>} {<-MConfig>} {<-E>} {(SQ <'say $Config{ccflags}'>)})
                )
              }
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<perl>} {<Build.PL>} {<Id.Lit_VarLike 'installdirs='> <vendor>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<export>} 
              {<Id.Lit_VarLike 'CFLAGS='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<perl>} {<-MConfig>} {<-E>} {(SQ <'say $Config{ccflags}'>)})
                )
              }
            )
            (C {<'./Build'>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<'./Build'>} {<install>} 
                  {<Id.Lit_VarLike 'destdir='> (DQ ($ Id.VSub_DollarName '$pkgdir'))}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<find>} {(DQ ($ Id.VSub_DollarName '$pkgdir'))} 
              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\('>)} {<-name>} {<perllocal.pod>} {<-o>} {<-name>} {<.packlist>} 
              {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\)'>)} {<-delete>}
            )
          ]
        )
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [(C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<'./Build'>} {<test>})]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'213795e75cde1acabc73220814b1b1396fca86b964e5701e81181221501c9c5b9e3b0a43d5448bf8d9f19276320c2afab75eee56ebd7b54a64126962f60a50f8  AnyEvent-DNS-EtcHosts-0.0103.tar.gz'
                >
              )
            }
          spids: [263]
        )
      ]
    )
  ]
)