in reply to Re: Re^2: Concatenating strings with tabs between and returning the result
in thread Concatenating strings with tabs between and returning the result

Gentlemen, Many thanks for all the contributions. In the end, I decided to go for the following code, similar to suggestions made by poj and Aristotle:
sub concat { my @stringarray = @_; foreach $_ (@stringarray) { $_= "TOOLONG" if length () > 15; $_ .= "\t" if length () < 8; } return (join "\t", @stringarray); }
I’m particularly pleased with the solution as it enables me to pass a varied number of arguments to the subroutine. The use of the parentheses after the length function is to prevent errors from the compiler when using strict. The function is called as follows:
$concatstring = &concat ($handle, $hostname, $maintenance, $location, +$buiscat);
I decided against the use of map, as with the documentation available I can only understand it in a very simple context. Once again, thanks.