X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FMoreCommon.pm;h=0d5413b1a90be01a19c1c0e7794158530aa67053;hb=ec35cbcff8c79cdda05d56e8677a2251531f1166;hp=e93dd172e155d9a64834157e65bd6d7a0bf06468;hpb=d0655093e8562bcc88ffe7283646b4ef3a2aa4a8;p=kivitendo-erp.git diff --git a/SL/MoreCommon.pm b/SL/MoreCommon.pm index e93dd172e..0d5413b1a 100644 --- a/SL/MoreCommon.pm +++ b/SL/MoreCommon.pm @@ -88,24 +88,6 @@ sub any (&@) { return 0; } -=item cross BLOCK ARRAY ARRAY - -Evaluates BLOCK for each combination of elements in ARRAY1 and ARRAY2 -and returns a new list consisting of BLOCK's return values. -The two elements are set to $a and $b. -Note that those two are aliases to the original value so changing them -will modify the input arrays. - - # append each to each - @a = qw/a b c/; - @b = qw/1 2 3/; - @x = cross { "$a$b" } @a, @b; - # returns a1, a2, a3, b1, b2, b3, c1, c2, c3 - -As cross expects an array but returns a list it is not directly chainable -at the moment. This will be corrected in the future. - -=cut sub cross(&\@\@) { my $op = shift; use vars qw/@A @B/; @@ -167,3 +149,47 @@ sub listify { } 1; + +__END__ + +=head1 NAME + +SL::MoreCommon.pm - helper functions + +=head1 DESCRIPTION + +this is a collection of helper functions used in Lx-Office. +Most of them are either obvious or too obscure to care about unless you really have to. +The exceptions are documented here. + +=head2 FUNCTIONS + +=over 4 + +=item save_form +=item restore_form + +A lot of the old sql-ledger routines are strictly procedural. They search for params in the $form object, do stuff with it, and return a status code. + +Once in a while you'll want something from such a function without altering $form. Yeah, you could rewrite the routine from scratch... not. Just save you form, execute the routine, grab your results, and restore the previous form while you curse at the original design. + +=item cross BLOCK ARRAY ARRAY + +Evaluates BLOCK for each combination of elements in ARRAY1 and ARRAY2 +and returns a new list consisting of BLOCK's return values. +The two elements are set to $a and $b. +Note that those two are aliases to the original value so changing them +will modify the input arrays. + + # append each to each + @a = qw/a b c/; + @b = qw/1 2 3/; + @x = cross { "$a$b" } @a, @b; + # returns a1, a2, a3, b1, b2, b3, c1, c2, c3 + +As cross expects an array but returns a list it is not directly chainable +at the moment. This will be corrected in the future. + +=back + +=cut