Ask a Question related to PERL Miscellaneous, Design and Development.

  1. #1

    Default Saving entire file

    Can someone help me with the following code.
    It just saves/prints the line in which 'hello' occured.
    why doesn't it save the entire file i.e why don't i get the entire
    content of file1 in file2 ?

    open(FILEREAD, "file1") or die "Can't open file1: $!\n";

    while(<FILEREAD>) {
    #searching the string
    if(/hello/) {

    open(FILEWRITE, ">file2") or die "Can't open file2: $!\n";
    select FILEWRITE; # this is not needed.
    print FILEWRITE ;
    close(FILEWRITE);
    }
    }
    close(FILEREAD);
    MJS Guest

  2. Similar Questions and Discussions

    1. How do I convert an entire xls spreadsheet into only 1 pdf file?
      How do I convert an entire xls spreadsheet into 1 pdf file. It will only convert one sheet per pdf file.
    2. extracting an entire node from XML file
      i have a file which i have to write in C#. i want to extract an entire node by itself at once ( wherever it occurs in the file .. as ) <?xml...
    3. [PHP] Value for entire file
      > -----Original Message----- No, $_GET has always been superglobal, it just didn't exist before 4.1.0 -- so for PHP <4.1.0 it's: function...
    4. Value for entire file
      Hello, I am facing one problem..i am getting one variable value from another file by using href..I need to use that value in the entire file..how...
    5. [PHP] Value for entire file
      On Friday 18 July 2003 12:40, Uma Shankari T. wrote: You should be using correctly formed HTML: <a href="..." xxx="..."> echo $_GET; //...
  3. #2

    Default Re: Saving entire file


    Gunnar Hjalmarsson wrote:
    > MJS wrote:
    > > Can someone help me with the following code.
    > > It just saves/prints the line in which 'hello' occured.
    > > why doesn't it save the entire file i.e why don't i get the entire
    > > content of file1 in file2 ?
    >
    > Because you didn't tell Perl to do that. :)
    >
    > > print FILEWRITE ;
    >
    > That prints the content of $_ to FILEWRITE. Please study
    > [url]http://www.perldoc.com/perl5.8.0/pod/perlsyn.html[/url]
    >
    > If you replace that line with:
    >
    > seek FILEREAD, 0, 0;
    > print FILEWRITE join '', <FILEREAD>;
    >
    > the script should do what you want. You may want to reed about 'seek'
    > and 'join' at [url]http://www.perldoc.com/perl5.8.0/pod/perlfunc.html[/url]
    >
    > There are (of course) other available solutions...
    If I'm not mistaken, you also need to open the filewrite for
    appending.

    open(FILEWRITE, ">>file2") or die "Can't open file2: $!\n";
    ^
    ^

    Mike Flannigan Guest

  4. #3

    Default Re: Saving entire file

    Mike Flannigan wrote:
    > Gunnar Hjalmarsson wrote:
    >>MJS wrote:
    >>
    >>>Can someone help me with the following code.
    >>>It just saves/prints the line in which 'hello' occured.
    >>>why doesn't it save the entire file i.e why don't i get the entire
    >>>content of file1 in file2 ?
    >>
    >>Because you didn't tell Perl to do that. :)
    >>
    >>>print FILEWRITE ;
    >>
    >>That prints the content of $_ to FILEWRITE. Please study
    >>[url]http://www.perldoc.com/perl5.8.0/pod/perlsyn.html[/url]
    >>
    >>If you replace that line with:
    >>
    >> seek FILEREAD, 0, 0;
    >> print FILEWRITE join '', <FILEREAD>;
    >>
    >>the script should do what you want. You may want to reed about 'seek'
    >>and 'join' at [url]http://www.perldoc.com/perl5.8.0/pod/perlfunc.html[/url]
    >>
    >>There are (of course) other available solutions...
    >
    > If I'm not mistaken, you also need to open the filewrite for
    > appending.
    >
    > open(FILEWRITE, ">>file2") or die "Can't open file2: $!\n";
    Only if appending is what OP wants to do. Note that it was opened for
    writing.

    But I'd like to correct my solution in another respect. The 'join'
    function is redundant, and the following should do it:

    seek FILEREAD, 0, 0;
    print FILEWRITE <FILEREAD>;

    --
    Gunnar Hjalmarsson
    Email: [url]http://www.gunnar.cc/cgi-bin/contact.pl[/url]

    Gunnar Hjalmarsson Guest

  5. #4

    Default Re: Saving entire file

    [email]tabletdesktop@yahoo.com[/email] (MJS) wrote:
    > Can someone help me with the following code.
    > It just saves/prints the line in which 'hello' occured.
    > why doesn't it save the entire file i.e why don't i get the entire
    > content of file1 in file2 ?
    >
    > open(FILEREAD, "file1") or die "Can't open file1: $!\n";
    >
    > while(<FILEREAD>) {
    > #searching the string
    > if(/hello/) {
    >
    > open(FILEWRITE, ">file2") or die "Can't open file2: $!\n";
    > select FILEWRITE; # this is not needed.
    > print FILEWRITE ;
    > close(FILEWRITE);
    > }
    > }
    > close(FILEREAD);
    For every line in file1 containing hello, you write that one line
    to file2, overwriting whatever file2 may have existed previously.
    Thus, the eventual file2 is left with the final hello containing
    line in file1.

    --
    -------------------- [url]http://NewsReader.Com/[/url] --------------------
    Usenet Newsgroup Service New Rate! $9.95/Month 50GB
    ctcgag@hotmail.com Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139