On Thu, 21 Nov 2002, David Buddrige wrote: > > Hi all, > > I am writing a subroutine which is intended to take an array of strings, > and concatenate each string in the array into a single [very long] string. > > > The subroutine is listed below. > > My problem is that for some reason when I print out the variable > "$single_comment_line", rather than getting a very long string, I get > something like: > > ARRAY(0x8118e34) > > printed out instead. Can anyone see why this is happening? > > thanks heaps > > David Buddrige. > > sub format_docpp_comment > { > my @doc_comment; > my $comment_line; > my $single_comment_line; > > @doc_comment = $_[0]; # give a friendly name to the array
If you are passing an array into the subroutine, this should be @doc_comment = @_; If it is a array reference that you are passing, this should be @doc_comment = @{$_[0]}; > > > foreach $comment_line ( @doc_comment ) > { > chomp $comment_line; > $single_comment_line = $single_comment_line . $comment_line; > } You can do away with the foreach loop here, this should do chomp (@doc_comment); $single_comment_line = join ('', @doc_comment); perldoc -f chomp perldoc -f join > > # At this point we have a single string that contains our entire > # doc++ comment. > # we can now use simple pattern matching to parse it. > > # for now output it so we can see what it looks like: > print $single_comment_line; > print "\n"; > } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]