coding_new has asked for the wisdom of the Perl Monks concerning the following question:

I am sure this is a pretty straightforward answer but I have been looking at this for a while and am drawing a blank... I have a logfile that has some output which I am importing into an manipulating. Specifically I am removing certain words and values that I do not need. That part works fine.

The area that I am having issues with is when I am attempting to merge the variable with another string. Below is my code. Any input/suggestions is greatly appreciated.

This first part of the code runs fine with no issues and produces the output below.

open (LOGFILE, '<//..//..//logname.log'); @data=<LOGFILE>; foreach $data(@data) { $data=~s/up//; $data=~s/down//; $data=~tr/849//d; print $data;

Output

aaaa
bbbb
cccc
dddd


Here is where I run into issues

$mergedata=$data . ".sh"; print $mergedata;

This produces the following output


aaaa
.shbbbb
.shcccc
.shdddd
.sh$

I am trying to get the following output
aaaa.sh
bbbb.sh
cccc.sh
dddd.sh

What am I missing here? Again any help is appreciated

Replies are listed 'Best First'.
Re: string variable merge issue
by moritz (Cardinal) on Jan 07, 2011 at 22:00 UTC

    Try removing the trailing newline characters while reading the file with chomp $data;.

    In general it would be helpful if you provided us a script that actually runs; you can point out problems in comments.

      Thank you for your suggestions. I will keep that in mind for next time. I did add the chomp and that helped, but then I also realized that I had to remove my space in between the xxx and the .sh. Its working now. Thank you for your help..
Re: string variable merge issue
by Anonyrnous Monk (Hermit) on Jan 07, 2011 at 22:00 UTC

    You probably want to chomp your data to get rid of the newlines.