RepFormat - Allows text formatting with simple instructions, mapping to a user-defined grid.


NAME

RepFormat - Allows text formatting with simple instructions, mapping to a user-defined grid (the sheet).


SYNOPSIS

        use Data::Reporter::RepFormat;
        $sheet = new Data::Reporter::RepFormat($cols, $rows);
        $sheet->Move(0,3);
        $sheet->Print('123');
        $sheet->Out();
        $sheet->Clear();
        $sheet->Printf('%010d', 12);
        $sheet->MVPrint(0, 3, '123');
        $sheet->MVPrintf(0, 1, '%3.2f', 79.123);
        $sheet->Nlines();
        $sheet->Getline(20);
        $sheet->Copy($source_sheet);
        $sheet->Center('hello', 10);
        my $pic = $sheet->ToPicture('$$$,999, 999', 1234.56);
        $value = $sheet->Commify('1234567.89');


DESCRIPTION

new($cols, $rows)
Creates a new RepFormat object. This function receives two parameters: columms and rows of the sheet.

$sheet->Move($col, $row)
Moves cursor to the indicated position

$sheet->Print($string)
Puts $string at the current cursor position.

$sheet->Out([$handle])
Moves the sheet information to target output. If $handle is not specified, then STDOUT is used.

$sheet->Clear()
Clears the sheet

$sheet->Printf(format, argument)
Prints using printf style format

$sheet->MVPrint($col, $row, $string)
Moves, then Prints

$sheet->MVPrintf($col, $row, format, argument)
Moves, then Prints (using printf style format)

$sheet->Nlines()
Returns the number of lines in the sheet, discarding the last blank lines

$sheet->getX()
Returns current column position (X)

$sheet->getY()
Returns current row position (Y)

$sheet->Getline($index)
Returns the $index row

$sheet->Copy($source_sheet)
Appends $source_sheet in $sheet

$sheet->Center($string, $size)
Returns a string with size = $size having $string centered in it. This function uses spaces to pad on both sides.

$sheet->Commify($number);
Returns $number as a string with commas (123456789.90 -> 123,456,789.90)

*NOTE This function will be no longer supported in next releases. Use PrintP instead.

$sheet->printP($string, $picture);
Puts a string at the current position with $string in the specified $picture.

There are two clases of pictures: strings and numerical

strings
The following table list the text edit format characters:

CharacterDescription
X Use character in field
B Insert blank
~(tilde) Skip character in field

examples

MaskvalueDisplay
(xxx)bxxx-xxxx2169910551(216) 991-0551
xxx-xx-xxxx 123456789 123-45-6789
~~xx~xx ABCDEFGHIJCDFG

numerical
The following table list the numerical edit format characters:

CharacterDescription
8Digit, zero fill to the rigth of
the decimal point trim leading
blanks (left justify the number)
9Digit, zero fill to the right of
the decimal point, space fill to
the left
0Digit, zero fill to the left
$Dollar sign, optionally floats to
the right
BTreated as a ``9'', but if a value
is zero, the field is converted
to blanks
VImplied decimal point
MIEntered at the end of the mask
causes a minus to be displayed at
the right of the number
PREntered at teh end of the mask
causes angle brackets (<>) to be
displayed around the number if
the number is negative
PSEntered at the end of the mask
causes parentheses to display
around the number if the number
is negative
PFEntered at the end of the mask
causes floating parentheses to
display around teh number if
the number is negative
.Decimal point
,Comma

examples

MaskvalueDisplay
999.99 34.568 34.57
9,999,999v99 123,456.78 123,456.78
8,888,888.88 123,456,78123,456.78
9,999 1234 1,234
09999 1234 01234
9999 12345 ****
9999mi -123 123-
9999pr -123 < 123>
9999ps -123 ( 123)
9999pf -123 ( 123)

$sheet->MVPrintP($col, $row, $string, $pic)
Moves, then PrintP

 RepFormat - Allows text formatting with simple instructions, mapping to a user-defined grid.