Provided by: libdevel-mat-perl_0.52-1build2_amd64 bug

NAME

       "Devel::MAT::Cmd" - abstractions for providing commands for "Devel::MAT"

METHODS

   printf
         Devel::MAT::Cmd->printf( $fmt, @args )

       Behaves like perl's core printf() function. Additionally, any argument for a %s conversion may also be
       the result of one of the following "format_*" methods, which may return a String::Tagged instance.

   print_table
         Devel::MAT::Cmd->print_table( $rows, %opts )

       Given a 2D array-of-arrays containing strings (which may be plain or formatted ones returned by the
       various "format_*" methods), prints them formatted in a table shape, aligning the columns.

       An element of $rows may be an empty arrayref. This will cause a row of divisions to be drawn using
       hyphens ("-") the full width of each column.

       The following named %ops may be supplied:

       headings => ARRAY[STRING]
           A  list of strings per column to place at the top of the table. These may be formatted differently to
           distinguish them.

       sep => ARRAY[STRING] or STRING
           A list of strings per column (or one single string to apply  equally  to  them  all)  specifying  the
           separator  string  to  print after each columns. Will default to a single space if not supplied. Note
           that this string is interpolated into a "sprintf" format string, so any  "%"  marks  it  may  contain
           should be doubled.

       align => ARRAY[STRING] or STRING
           A  list  of  strings  per  column  (or one single string to apply equally to them all) specifying the
           alignment of data in the column. Aligns to the right if the value is "right".

       indent => INT
           A number of spaces to prefix before every row of output. Defaults to zero if not supplied.

   format_note
         $str = Devel::MAT::Cmd->format_note( $str, $idx )

       Apply some sort of styling to the a given string.

       Starting from zero, successively higher integer values for $idx may influence the style  further.  Output
       with  the  same  index value will appear the same. The implementation should support at least 3 different
       styles, but may wrap after this.

       For stylistic consistency, tools should try to stick to the following conventions for note indexes:

         0 - regular notes
         1 - secondary notes, lexical variable names
         2 - unusual or erroneous conditions, symbol table names

   format_sv
         $str = Devel::MAT::Cmd->format_sv( $sv )

       Returns a string encoding the address and description of the given SV, possibly  stylised  in  some  way,
       subject to user customisation, or possibly made interactive if the UI allows it to be so.

   format_value
         $str = Devel::MAT::Cmd->format_value( $val, %opts )

       Returns  a  string formatting a given plain scalar value (which should either be a string or a number) to
       indicate it's a value from the user program. If given a string value, this will  be  escaped  and  quoted
       appropriately.

       The following named %opts may be supplied:

       key => BOOL
           If  true,  the  value  represents  a  hash  key value. Wraps the result in braces "{...}" and removes
           redundant quote marks if the string is valid as a bareword identifier.

       index => BOOL
           If true, the value represents an array index. Wraps the result in square brackets "[...]" and expects
           the value to be an integer.

       pv => BOOL
           If true, the value represents a string from the user code. Wraps the result in quote marks "..."  and
           limits  the  length  to  a  maximum  of  64 characters (or as specified by the "maxlen" argument). No
           truncation if "maxlen" is zero.

   format_symbol
         $str = Devel::MAT::Cmd->format_symbol( $name, $sv )

       Returns a string formatting the given symbol name to indicate that it is a symbol name.  Optionally,  the
       SV  object itself can be passed too, which may save the UI having to look it up from the dumpfile in case
       it wishes to make the printed value interactive in some way.

   format_bytes
         $str = Devel::MAT::Cmd->format_bytes( $bytes )

       Returns a string showing the given byte count in suitably scaled units. This will use base-1024 sizes  in
       "KiB", "MiB", "GiB" or "TiB" if necessary.

   format_sv_with_value
         $str = Devel::MAT::Cmd->format_sv_with_value( $sv )

       Similar  to  "format_sv",  but  printing  additional  information  on some kinds of SVs to avoid the user
       needing to use the "show" to identify it.

       For "SCALAR" SVs it will show the value directly by using "format_value", for "REF" SVs it will show  the
       referrant SV, and for "STASH" SVs it will show the symbol name.

   format_heading
         $str = Devel::MAT::Cmd->format_heading( $text, $level )

       Returns  a  string  applying some formatting to the given text to make it stand out as a section or table
       heading. $level may be used to distinguish different styles; at least 3 should be provided.

AUTHOR

       Paul Evans <leonerd@leonerd.org.uk>

perl v5.38.2                                       2024-04-01                               Devel::MAT::Cmd(3pm)