Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PrintCols(3)	      User Contributed Perl Documentation	  PrintCols(3)

NAME
       Array::PrintCols	- Print	or format array	elements in vertically sorted
       columns.

SYNOPSIS
       "use Array::PrintCols;"

       "print_cols \@array;"

       "print_cols \@array, $colspec;"

       "print_cols \@array, $colspec, $total_width;"

       "print_cols \@array, $colspec, $total_width, $indent;"

		    \@I<array> may also	be an ARRAYREF,	HASH, or HASHREF.

       $output = "format_cols" <same arguments as "print_cols">;

       "$Array::PrintCols::PreSorted = 0;"

DESCRIPTION
       This module exports two subroutine names: "print_cols" and
       "format_cols".

       The "print_cols"	subroutine prints the items of "@array"	in multiple,
       alphabetically &	vertically sorted columns.  In the case	of the first
       argument	being a	HASH or	HASHREF, only the keys of the hash are
       considered.

       One, two, or three optional arguments may be given to "print_cols" to
       control the width and number of the columns, the	total width of the
       output, and indentation.	 Reasonable defaults apply in the absence of
       the optional arguments (or when given as	the empty string or zero).
       Generally, the minimum width column is used when	possible.

       If "$colspec" is	given as a non-negative	number,	it is treated as the
       minimum width of	the column; the	actual width will be the maximum of
       this value and the lengths of all array items.

       If "$colspec" is	given as a negative number, its	absolute value value
       is used to determine the	total number of	columns.  However, it cannot
       exceed the total	number of columns possible based on the	maximum	length
       of all the array	elements.

       If a third argument is supplied,	it is used as the total	width of the
       output.	The default for	this value is the value	of the environment
       variable	$ENV{'COLUMNS'}, if defined, or	80.

       If the fourth argument is given,	it is used as the indent for all lines
       printed,	which subtracts	from the total width of	the output.  This
       value defaults to zero (ie: no indention	of the output).

       The variable $Array::PrintCols::PreSorted controls whether or not the
       "print_cols" subroutine will expect its array argument to already be
       sorted.	If this	variable is nil	or zero, "print_cols" will cause print
       out a sorted copy of the	input array.

       The routine "format_cols" is called exactly like	"print_cols" but
       returns the formatted result as a string, rather	than printing it.
       "print_cols" actually invokes "format_cols", which does the real	work.

EXAMPLES
	   use Array::PrintCols;

	   @commands = sort qw(	use list put get set quit help server );

	   # print in three columns with an indention of 1.
	   print_cols \@commands, -3, 0, 1;

	   # print the formatted result	data to	the result file
	   print RESULTFILE format_cols(\@result_data);

REPOSITORY
       <https://github.com/aks/array-printcols>

AUTHOR
       Copyright (C) 1996-2014	Alan K.	Stebbens <aks@stebbens.org>

       This program is free software: you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published by the
       Free Software Foundation, either	version	3 of the License, or (at your
       option) any later version.

       This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A	PARTICULAR PURPOSE.  See the GNU
       General Public License for more details.

       You should have received	a copy of the GNU General Public License along
       with this program.  If not, see <http://www.gnu.org/licenses/>.

BUGS
       Perl will not default intervening empty arguments; instead, use zero or
       the empty-string	('').

perl v5.24.1			  2014-03-01			  PrintCols(3)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | REPOSITORY | AUTHOR | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Array::PrintCols&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help