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

Reply via email to