Perl module Data::MaskPrint ------------------------------ Copyright (c) 2001 Ilya Verlinsky (ilya@wsi.net) This module is designed to easily print data in the predictable format, specified by the mask applied This module is Pure Perl so no compiler is needed to install do: make make test make install See supporting documentation for API The following are the examples of strings that could be generated with this module (b represents space generated by the formatter): Format String Data Value Formatted Result '#####' 0 bbbb0 '&&&&&' 0 00000 '$$$$$' 0 bbb$0 '*****' 0 ****0 '##,###' 12345 12,345 '##,###' 1234 b1,234 '##,###' 123 bbb123 '##,###' 12 bbbb12 '##,###' 1 bbbbb1 '##,###' -1 bbbb-1 '##,###' 0 bbbbb0 '&&,&&&' 12345 12,345 '&&,&&&' 1234 01,234 '&&,&&&' 123 000123 '&&,&&&' 12 000012 '&&,&&&' 1 000001 '&&,&&&' 0 000000 '$$,$$$' 12345 ****** (overflow) '$$,$$$' 1234 $1,234 '$$,$$$' 123 bb$123 '$$,$$$' 12 bbb$12 '$$,$$$' 1 bbbb$1 '$$,$$$' 0 bbbb$0 '**,***' 12345 12,345 '**,***' 1234 *1,234 '**,***' 123 ***123 '**,***' 12 ****12 '**,***' 1 *****1 '**,***' 0 *****0 '##,###.##' 12345.67 12,345.67 '##,###.##' 1234.56 b1,234.56 '##,###.##' 123.45 bbb123.45 '##,###.##' 12.34 bbbb12.34 '##,###.##' 1.23 bbbbb1.23 '##,###.##' 0.12 bbbbb0.12 '##,###.##' 0.01 bbbbb0.01 '##,###.##' -0.01 bbbb-0.01 '##,###.##' -1 bbbb-1.00 '&&,&&&.&&' 12345.67 12,345.67 '&&,&&&.&&' 1234.56 01,234.56 '&&,&&&.&&' 123.45 000123.45 '&&,&&&.&&' 0.01 000000.01 '$$,$$$.$$' 12345.67 ********* (overflow) '$$,$$$.$$' 1234.56 $1,234.56 '$$,$$$.##' 0 bbbb$0.00 '$$,$$$.##' 1234 $1,234.00 '$$,$$$.&&' 0 bbbb$0.00 '$$,$$$.&&' 1234 $1,234.00 '-##,###.##' -12345.67 -12,345.67 '-##,###.##' -123.45 -bbb123.45 '-##,###.##' -12.34 -bbbb12.34 '--#,###.##' -12.34 b-bbb12.34 '---,###.##' -12.34 bbb-b12.34 '---,-##.##' -12.34 bbbb-12.34 '---,--#.##' -1 bbbbb-1.00 '-##,###.##' 12345.67 b12,345.67 '-##,###.##' 1234.56 bb1,234.56 '-##,###.##' 123.45 bbbb123.45 '-##,###.##' 12.34 bbbbb12.34 '--#,###.##' 12.34 bbbbb12.34 '---,###.##' 12.34 bbbbb12.34 '---,-##.##' 12.34 bbbbb12.34 '---,---.##' 1 bbbbbb1.00 '---,---.--' -0.01 bbbbb-0.01 '---,---.&&' -0.01 bbbbb-0.01 '-$$,$$$.&&' -12345.67 ********** (overflow) '-$$,$$$.&&' -1234.56 -$1,234.56 '-$$,$$$.&&' -123.45 bb-$123.45 '--$,$$$.&&' -12345.67 ********** (overflow) '--$,$$$.&&' -1234.56 -$1,234.56 '--$,$$$.&&' -123.45 bb-$123.45 '--$,$$$.&&' -12.34 bbb-$12.34 '--$,$$$.&&' -1.23 bbbb-$1.23 '----,--$.&&' -12345.67 -$12,345.67 '----,--$.&&' -1234.56 b-$1,234.56 '----,--$.&&' -123.45 bbb-$123.45 '----,--$.&&' -12.34 bbbb-$12.34 '----,--$.&&' -1.23 bbbbb-$1.23 '----,--$.&&' -0.12 bbbbb-$0.12 '$***,***.&&' 12345.67 $*12,345.67 '$***,***.&&' 1234.56 $**1,234.56 '$***,***.&&' 123.45 $****123.45 '$***,***.&&' 12.34 $*****12.34 '$***,***.&&' 1.23 $******1.23 '$***,***.&&' 0.12 $******0.12 '($$$,$$$.&&)' -12345.67 ($12,345.67) '($$$,$$$.&&)' -1234.56 (b$1,234.56) '($$$,$$$.&&)' -123.45 (bbb$123.45) '(($$,$$$.&&)' -12345.67 ($12,345.67) '(($$,$$$.&&)' -1234.56 ($1,234.56) '(($$,$$$.&&)' -123.45 (bb$123.45) '(($$,$$$.&&)' -12.34 (bbb$12.34) '(($$,$$$.&&)' -1.23 (bbbb$1.23) '((((,(($.&&)' -12345.67 ($12,345.67) '((((,(($.&&)' -1234.56 ($1,234.56) '((((,(($.&&)' -123.45 (b$123.45) '((((,(($.&&)' -12.34 ($12.34) '((((,(($.&&)' -1.23 ($1.23) '((((,(($.&&)' -0.12 ($0.12) '($$$,$$$.&&)' 12345.67 $12,345.67 '($$$,$$$.&&)' 1234.56 $1,234.56 '($$$,$$$.&&)' 123.45 $123.45 '(($$,$$$.&&)' 12345.67 $12,345.67 '(($$,$$$.&&)' 1234.56 $1,234.56 '(($$,$$$.&&)' 123.45 $123.45 '(($$,$$$.&&)' 12.34 $12.34 '(($$,$$$.&&)' 1.23 $1.23 '((((,(($.&&)' 12345.67 $12,345.67 '((((,(($.&&)' 1234.56 $1,234.56 '((((,(($.&&)' 123.45 $123.45 '((((,(($.&&)' 12.34 $12.34 '((((,(($.&&)' 1.23 $1.23 '((((,(($.&&)' 0.12 $0.12 '<<<<<' 0 0 '<<<,<<<' 12345 12,345 '<<<,<<<' 1234 1,234 '<<<,<<<' 123 123 '<<<,<<<' 12 12