It's not actually ending up with a ? character at the end - it's ending up with a new line character. Your terminal is (as Andrew implied) displaying a ? character for a character code outside the range of characters it knows it can display.
Regards, Carl On 19 March 2015 at 11:19, Andrew Solomon <and...@geekuni.com> wrote: > No - that one's a mystery to me:) I suspect it's something to do with the > terminal and character encoding > > > http://stackoverflow.com/questions/5306153/how-to-get-terminals-character-encoding > > Andrew > > > On Thu, Mar 19, 2015 at 7:41 AM, Satya Prasad Nemana <spn...@gmail.com> > wrote: > >> Great Andrew. >> it is all good now. >> >> Could you please tell how new line ended up as ? in the file name >> >> Thanks, >> Satya >> >> >> On 19 March 2015 at 12:53, Andrew Solomon <and...@geekuni.com> wrote: >> >>> my $logFileName="log_ping_".`date +"%d_%b_%y_%H_%M_%S"`; >>> >>> should be followed by >>> >>> chomp($logFileName) >>> >>> otherwise there's a trailing newline character in $logFileName on >>> account of the call to date >>> >>> Andrew >>> >>> On Thu, Mar 19, 2015 at 6:08 AM, Satya Prasad Nemana <spn...@gmail.com> >>> wrote: >>> >>>> Hi >>>> >>>> I have a small program listed below where i am writing ping results to >>>> a file. >>>> The program works file except that the file name in the output file is >>>> coming as log_ping_19_Mar_15_11_27_49? (please note the ? at the end of the >>>> name) >>>> >>>> The initial output looks like >>>> bats3 snemana/perlprogs> perl pingTest.pl hostInfo.txt >>>> >>>> Logfile is log_ping_19_Mar_15_11_38_53 >>>> >>>> File name is hostInfo.txt >>>> >>>> ............................. >>>> >>>> Could someone please tell why the ? is getting added to the file name >>>> although it looks fine in the initial print of the file name. >>>> >>>> use Data::Dumper; >>>> use strict; >>>> use warnings; >>>> my $numberOfPingPackets=1; >>>> >>>> my $fullFileName=$ARGV[0]; >>>> my $logFileName="log_ping_".`date +"%d_%b_%y_%H_%M_%S"`; >>>> print "\nLogfile is $logFileName"; >>>> print ("\nFile name is $fullFileName"); >>>> open FILE, $fullFileName or die $!; >>>> my $logFile; >>>> open $logFile, '>', $logFileName or die $!; >>>> my @fileContents=<FILE>; >>>> print ("\nFile contents are ".Dumper(@fileContents)); >>>> for(my $i=0;$i < @fileContents; $i++) >>>> { >>>> my $line=$fileContents[$i]; >>>> my @data=split(/\t/,$line); >>>> my $host=$data[0]; >>>> my $ip=substr($data[1],0,-1); >>>> my @pingResults=`ping -c $numberOfPingPackets $ip`; >>>> my $succesString="$numberOfPingPackets packets transmitted, >>>> $numberOfPingPackets received, 0% packet loss"; >>>> my $index=3+$numberOfPingPackets; >>>> if(index($pingResults[$index],$succesString) >= 0) >>>> { >>>> print "\nPing to host $host ip $ip is successful"; >>>> print $logFile "\nPing to host $host ip $ip is successful"; >>>> } >>>> else >>>> { >>>> print "\nPing to host $host ip $ip is failure"; >>>> print $logFile "\nPing to host $host ip $ip is failure"; >>>> } >>>> } >>>> close $logFile; >>>> >>>> >>>> -- >>>> Satya Prasad >>>> >>> >>> >>> >>> -- >>> Andrew Solomon >>> >>> Mentor@Geekuni http://geekuni.com/ >>> http://www.linkedin.com/in/asolomon >>> >> >> >> >> -- >> Satya Prasad >> > > > > -- > Andrew Solomon > > Mentor@Geekuni http://geekuni.com/ > http://www.linkedin.com/in/asolomon >