|   | 
|  | 
 easy perl/emacs question
 
Posted by LKStruck [send private reply] at March 10, 2003, 08:22:23 PM
 I just started learning perl using emacs on linux 8.0
 I thought everything was going great...Then I tried to create a basic program for user input. The line that I tried was; $input=<STDIN> print "you entered" $input; What I get is; you entered Why doesn't emacs recognize <STDIN> I've tried different combos and for some reason it just won't prompt me for input. Whats the deal? 
Posted by gian [send private reply] at March 10, 2003, 09:17:12 PM
 "linux 8.0"
 There is no such thing. I presume you are referring to the Distribution which you are using, presumably Redhat 8. Emacs is a text editor, and AFAIK does not have a perl interpreter in it (although it seems to have everything else, so I could be wrong). What you need to do is either: a) Save it as a .pl file and run "perl thefile.pl" or b) At the beginning of the file put "#!/usr/bin/perl" (I think that's where it lives), and then set it to executable using the command "chmod +x thefile.pl". 
Posted by LKStruck [send private reply] at March 10, 2003, 09:59:32 PM
 Yes... Sorry about the redhat thing
 Here's my code; >#!/usr/bin/perl >print "Enter the Data: "; >$data = <STDIN> >print "You entered $data !!"; I made the file executable by entering; >chmod +x data.pl at the shell prompt, and then executed by entering >./data.pl and >perl data.pl The response is; <Enter the Data: You entered !! It doesn't prompt me for input. Do I need to include some kind of library or initiate a mode or (i hope) is it just syntax? 
Posted by vexoid [send private reply] at March 10, 2003, 10:13:05 PM
 Try a semicolon after <STDIN>... and you should chomp($data) to get rid of the line feed.  
Posted by LKStruck [send private reply] at March 10, 2003, 10:35:27 PM
 I made the changes and there is no difference.
 I also changed the mode from <Fundamental> to <Perl> I also added -w to the end of #!/usr/bin/perl I get the warning "use of uninitialized value" I just can't get it to prompt me for input 
Posted by taubz [send private reply] at March 10, 2003, 11:30:39 PM
 It works for me.  There's no reason why it shouldn't work.  What's this "mode" you're referring to?  
Posted by LKStruck [send private reply] at March 11, 2003, 12:00:44 AM
 I think I may just have a crappy version of emacs.I'm using emacs on REDHAT linux 8.0 and right above the minibuffer is a line with a bunch of info like what line you're on and so on.  One of these peices of information is what mode it's operating in.  When I start the program it seems to use as a default <Fundamental>  you can change this (as I have done with no positive outcome concerning my problem) to a bunch of different things.  Apparently there are two perl modes.  I changed it by entering| M-x perl-mode |but you could enter cperl-mode.  I've entered every program in the book I bought (learnin perl oreilly) that contains <STDIN> and none of them work.  Maybe I just need a fresh version of emacs  
Posted by stilldo [send private reply] at March 11, 2003, 12:02:33 AM
 sorry... here i am, the ignorant n00b, but what the hell are you referring to with "emacs"? being a mac-user, im inclined to think its the newer version of the iMac, but there you go.
 li'l help? 
Posted by LKStruck [send private reply] at March 11, 2003, 12:13:47 AM
 It's a text editor.  I'm fairly certain it was created for use with unix/linux systems but I think you can get it on windows now too.  It would be sweet if you could use emacs on iMacs just because of the confusion factor!  
Posted by unknown_lamer [send private reply] at March 11, 2003, 02:50:56 PM
 Emacs predates UNIX...(TECO...)
 Anyway, don't run your perl programs in emacs. Just open a shell and run them from there. 
Posted by stilldo [send private reply] at March 11, 2003, 03:37:33 PM
 oh.. kool, thanks :)  
Posted by gian [send private reply] at March 11, 2003, 09:45:22 PM
 "Emacs predates UNIX..."
 Emacs was written on a commercial UNIX platform (System V?). 
Posted by unknown_lamer [send private reply] at March 12, 2003, 09:54:37 AM
 No, Emacs was written as a set of macros for TECO on some old timesharing system originally. Eventually it was ported to POSIX systems when RMS started GNU.  
Posted by split [send private reply] at March 17, 2003, 12:59:18 AM
 Emacs is the devil.  
 Register as a new user | ||||||||||||||||