Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^3: string to number via data dumper

by semipro (Novice)
on Sep 28, 2013 at 12:46 UTC ( [id://1056127]=note: print w/replies, xml ) Need Help??


in reply to Re^2: string to number via data dumper
in thread string to number via data dumper

Hi there, thank you. While treating the output as number so eg:
#!/usr/bin/perl -w use strict; my $resultnow='C:/Users/user/Desktop/solution.dat'; open (FILE, '<', $resultnow) or die "$resultnow File not found : $!"; my @lines = <FILE>; my $valuenow= $lines[9]; my @items=split' ',$valuenow; use Data::Dumper; #print Dumper(@items); my $val=Dumper("$items[-1]"); my $n= "$val+8"; print $n; close (FILE);
here I tryed to make a sum. with "my $n= "$val+8";", so that I can obtain a vlue like -31.9999400000 (instead of '-39.9999400000'+8). But unfortunately that does not work. So how can I solve this problem? (that was the reason why I thought it is a string value).

Replies are listed 'Best First'.
Re^4: string to number via data dumper
by kcott (Archbishop) on Sep 28, 2013 at 13:37 UTC
    "here I tryed to make a sum. with "my $n= "$val+8";", so that I can obtain a vlue like -31.9999400000 (instead of '-39.9999400000'+8). But unfortunately that does not work. So how can I solve this problem? (that was the reason why I thought it is a string value)."

    I know you've only been using Perl for a short amount of time, but I don't think you've really got an understanding of the basics. Try reading "perlintro -- a brief introduction and overview of Perl": you need a solid foundation on which to build further knowledge.

    With regard to your "$val+8" question, this code should explain why it's not working:

    #!/usr/bin/env perl -l use strict; use warnings; my @items = (-39.9999400000); my $val = $items[-1]; print $val; my $n = "$val+8"; print $n; my $x = $val+8; print $x;

    Output:

    -39.99994 -39.99994+8 -31.99994

    -- Ken

Re^4: string to number via data dumper
by Laurent_R (Canon) on Sep 28, 2013 at 14:54 UTC

    Ken said it all, but just in case you have trouble understanding his example, just change:

    my $n= "$val+8"; print $n;

    to:

    my $n= $val+8; print $n;

    In the first code snippet above, you are constructing a string composed of the concatenation of your value (in string form) and the "+8" string. In other words, you are just doing string manipulation, no arithmetics. The second code snippet is actually adding the number 8 to your value. Now, if you understood the difference, go back to Ken's example.

      Hi merci! I just realized that data dumper is not appropriate to handle numbers. Extracting the numerical part of the string needs some further code to get rid off all non numerical values inside the string such as $Value1:. After that you can treat it numerical. Because of that I desided not to use data dumper. Better solution I found for me:
      #!/usr/bin/perl -w #use strict; my $resultnow='C:/Users/user/Desktop/solution.dat'; open (FILE, '<', $resultnow) or die "$resultnow File not found : $!"; my @lines = <FILE>; my $valuenow= $lines[9]; my @va=split(' ',$valuenow); print $va[3];
      So I am using now split. I guess data dumper is only good for "final" values or direct string output. But not for further data handling. So thank you for the fruitful collaboration. :-) That helped me alot. Best regards

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1056127]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (7)
As of 2024-04-23 16:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found