TPU ChatChat on IRC
Internet Relay Chat?
Java Applet client
Who's on IRC?
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;
print "you entered" $input;
What I get is;
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;
>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
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.
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 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.
Register as a new user