http://www.perlmonks.org?node_id=84786


in reply to Re: File Input and Output
in thread File Input and Output

No, before you can help yourself. Try Linux or FreeBSD or OpenBSD instead of Redmond crap. Now serious. try:

#!/usr/bin/perl

open(OUTPUT,">>/tmp/file");

$a = "some text...";

print OUTPUT $a;


Now, change the /tmp/file and stuff to anything you want to.
HTH

vfs ("The Perl Monkey") :)

Replies are listed 'Best First'.
Re: Re: Re: File Input and Output
by Anonymous Monk on Jun 01, 2001 at 03:19 UTC
    I forgot this:

    it 's better to assign a variable to a filename, as:

    $b = "/tmp/file";

    Then change the filename in open to the name of that variable.

    Cheers.

    vfs.

Re: Re: Re: File Input and Output
by Anonymous Monk on Sep 05, 2001 at 05:42 UTC
    Im having the same problem w/ writing to a file, using Win2k/ActivePerl Thinking that win2k is not handling the opening of files correctly. Please, without saying, dont use win2k, can someone post a work around? I updated w/ the suggestion you posted as such:
    #!perl -w open(FILE, "data.txt"); #opens data.txt in read-mode while(<FILE>){ #reads line by line from FILE which i +s the filehandle for data.txt chomp; print "Saw $_ in data.txt\n"; #shows you what we have read } close FILE; #close the file. $a = "keylogger.dat"; open FILE, ">$a" or die; #opens file to be written to while(<>){ #while we're getting input from the keyb +oard print FILE $_; #write it to our file } close FILE; #then close our file.
    "Re: File Input and Output by gpoduval on Jan 30, 2001 at 06:42 hmm...when i tried the >>filename nothing got appended into the file. it remained as it is i am using activestate activeperl for windows on win2k. i suspect this might be because i dont know how to end a program. anybody can help me ? www.comp.nus.edu.sg/~gokulpod"
      Just in case:

      Make sure you're not cutting and pasting that text so that you have a line in your code that says:
      +s the filehandle for data.txt

      That (along with +oard) will likely cause errors, though I don't know what those errors would look like in ActivePerl for Win2k.

      - apotheon

      CopyWrite Chad Perrin
      I could be wrong but I guess that after typing your code you are using  Ctrl+c to end the script. This kills the script rather than ends the while loop. Try using  Ctrl+z instead. Cheers
      #!perl -w open(FILE, "data.txt"); #opens data.txt in read-mode while(<FILE>){ #reads line by line from FILE which i +s the filehandle for data.txt chomp; print "Saw $_ in data.txt\n"; #shows you what we have read } close FILE; #close the file. $a = "keylogger.dat"; open FILE, ">$a" or die; #opens file to be written to while(<>){ #while we're getting input from the keyb +oard print FILE $_; #write it to our file } close FILE; #then close our file.