Hi there, I'm rather new with Parrot, and I wanted to play with it a little. I'm playing with parrot 0.0.7, I did *not* fetch the last CVS version.
I have a problem when I'm trying to read a file. I looked at parrot_assembly.pod and saw: open px, sy Open the file Y on filehandle X read px, py, pz Issue a read on the filehandle in y, and put the result in PMC X. PMC Z is the sync object. but when I try this chunk of code: LOAD: read S0, 256 chopn S0, 1 # trailing newline open P10, S0 set S1, "" # Accumulator LOAD_READ: read P1, P10 print S1 print "\n" end all I got was: $ perl assemble.pl foo.pasm > foo.pbc Couldn't find operator 'open_p_s' on line 4. Couldn't find operator 'read_p_p' on line 7. As it is said that parrot_assembly.pod may be out of date, I checked in core.ops to see what was really implemented. And I saw: =item B<open>(out INT, in STR) =item B<open>(out INT, in STR, in STR) =item B<read>(out INT, in INT) =item B<read>(out NUM, in INT) =item B<read>(out STR, in INT, in INT) Thus, I thought this one was the one I wanted. So: LOAD: read S0, 256 chopn S0, 1 # trailing newline open I10, S0, "r" eq I10, 0, ERR_IO set S1, "" # Accumulator LOAD_READ: read S1, I10, 256 print S1 print "\n" end ERR_IO: print "I/O err\n" end This compiles ok, but when I ran it, it prompted me for the filename (that's what I want), but then it doesn't seem to read the file (I have read rights on the file - I tried it with the script file itself). So, what am I doing wrong? What's the real syntax? (I wish there were a parrotopentut ;) ). While I'm at reading files - why isn't there a readline op for file handles? Is it planned / forbidden for an unknown (to me) reason / other (patches welcome :o) )? Another question. Is there a way to fetch command line arguments, such as: $ ./parrot foo.pbc foo bar baz Thanks, Jerome -- [EMAIL PROTECTED]