in reply to Re: Input/Output through the Keyboard
in thread Input/Output through the Keyboard

Hi. I understand Standard Input; the real question I had was how do I take that and tell perl to *3-1 or a function like that? I want to tell it to do something with it for an output.


  • Comment on Re: Re: Input/Output through the Keyboard

Replies are listed 'Best First'.
Re: Re: Re: Input/Output through the Keyboard
by pg (Canon) on Nov 13, 2002 at 05:45 UTC
    Using eval is one solution:
    $_ = <STDIN>; print eval;
      Solution is further simplified after matter, the final solution is in above post.
      I cooked a little bit:
      while (<STDIN>) { chomp; if ($_ eq "quit") { exit; } print eval "$_", "\n"; }
      Hmm... This is interesting. I was thinking more on the lines of something that had to do with foreach except only dealing with the one variable you enter because of course your only enter one line. Something like:?

      #!/usr/bin/perl<P> $input=<>; foreach $input++1;
      but of course that doesn't work! I need to use foreach on arrays not scalars and I think I messed up the foreach thing too. A programmer told me that  evalis a module? I don't want to use modules.


        eval() is part of the standard distribution of PERL.

        If you wanted to allow the program to keep running until the user exits you could use something like this:

        #!/usr/bin/perl $| = 1; while( ) { print "Number, plz: "; $input = <>; chomp $input; print "\nOutput is: ", ( ($input*2)-1 ), "\n"; }
        That seemed to work on my system.

        If you make something idiot-proof, eventually someone will make a better idiot.
        I am that better idiot.