• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 561
  • Last Modified:

I need to get some code to concat string

      my $message;
      for ($i = 0 ; $i  <= $#param ; $i++ )
      {
            print $param[$i], "\n";
            $message = join ( $message, $param[$i]);
      }
print $message, "\n";

I am novice in perl. Here is my problem. the print line prints every part of the array
$message prints the last string in the array!

Why! How to fix it! please. I want solution before I get to work tomorrow!
0
EmadGirgis
Asked:
EmadGirgis
  • 2
1 Solution
 
EmadGirgisAuthor Commented:
I guess I found the answer.

It is


Print @param

Am I right
0
 
ozoCommented:
perldoc -f join
       join EXPR,LIST
               Joins the separate strings of LIST into a single string with
               fields separated by the value of EXPR, and returns that new
               string.  Example:

                   $rec = join(':', $login,$passwd,$uid,$gid,$gcos,$home,$shell);

               Beware that unlike "split", "join" doesn't take a pattern as
               its first argument.  Compare "split".



so,
 $message = join ( "",$message, $param[$i]);
might do what you want, although
 $message = $message . $param[$i];
or
 $message .= $param[$i];
would be simpler
Also,
  $message = join ( "",@param );
or
 $message = join ( "\n",@param );
 print $message;
will join all the elements of @param


0
 
ozoCommented:
> Print @param;
should be
print @param;
0

Featured Post

[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now