} elsif ($body=~s/((\n[ \t]*)FUNC_ENTER\w*\s*\(.*?\);??)\n/"$1$2$trace"/es) {
 
#!/usr/bin/perl -w
require 5.003;
$Source = "";
##############################################################################
# A map from type name to type letter.  We use this map for two reasons:
#  1. We want the debugging stuff in the source code to be as unobtrusive as
#     possible, which means as compact as possible.
#  2. It's easier (faster) to parse these one and two-letter types in the C
#     functions that display debugging results.
# All type strings are one or two characters.  One-character strings
# are always lower case and should be used for common types.
# Two-character strings begin with an upper-case letter which is
# usually the same as the package name.
%TypeString = ("haddr_t"                    => "a",
               "hbool_t"                    => "b",
               "double"                     => "d",
               "H5D_alloc_time_t"           => "Da",
               "H5D_fill_time_t"            => "Df",
               "H5D_fill_value_t"           => "DF",
               "H5D_layout_t"               => "Dl",
               "H5D_space_status_t"         => "Ds",
               "H5FD_mpio_xfer_t"           => "Dt",
               "herr_t"                     => "e",
               "H5E_direction_t"            => "Ed",
               "H5E_error_t*"               => "Ee",
               "H5E_major_t"                => "i",
               "H5E_minor_t"                => "i",
               "H5E_type_t"                 => "Et",
               "H5F_close_degree_t"         => "Fd",
               "H5F_scope_t"                => "Fs",
               "H5FD_t*"                    => "x",
               "H5FD_class_t*"              => "x",
               "H5FD_stream_fapl_t*"        => "x",
               "H5G_link_t"                 => "Gl",
               "H5G_obj_t"                  => "Go",
               "H5G_stat_t*"                => "Gs",
               "hsize_t"                    => "h",
               "hssize_t"                   => "Hs",
               "hid_t"                      => "i",
               "int"                        => "Is",
               "unsigned"                   => "Iu",
               "unsigned int"               => "Iu",
               "H5I_type_t"                 => "It",
               "MPI_Comm"                   => "Mc",
               "MPI_Info"                   => "Mi",
               "H5FD_mem_t"                 => "Mt",
               "off_t"                      => "o",
               "H5P_class_t"                => "p",