# .spvm file
cat helper/DER_type_names.txt | perl helper/generate_DER.pl Net::SSLeay::DER spvm > .tmp/DER.spvm

# .c file
cat helper/DER_type_names.txt | perl helper/generate_DER.pl Net::SSLeay::DER c > .tmp/DER.c

# .pm file
cat helper/DER_type_names.txt | perl helper/generate_DER.pl Net::SSLeay::DER pm > .tmp/DER.pm

d2i_$type_name

static method d2i_$type_name : Net::SSLeay::$type_name (\$a_ref : Net::SSLeay::${type_name}[], \$ppin_ref : string[], \$length : long);

See "d2i_TYPE" template method.

i2d_$type_name

static method i2d_$type_name : int (\$a : Net::SSLeay::$type_name, \$ppout_ref : string[]);

See "i2d_TYPE" template method.

EOS

if ($has_bio) {
  $output .= <<"EOS";
=head2 d2i_${type_name}_bio

static method d2i_${type_name}_bio : Net::SSLeay::$type_name (\$bio : Net::SSLeay::BIO);

See "d2i_TYPE_bio" template method.

EOS } print $output; } else { die; } }