editing a file using perl script

Discussion in 'Perl' started by kelly, Jan 2, 2006.

  1. kelly

    kelly Guest

    Hi,
    I don't have a code to show you, what I need are references or
    algorithms so that I'm in a right track.

    By the way, thanks for introducing me the array or arrays. Now I can
    continue my script.

    Now I want to delete a line from a file. Line being the strings I
    got/saved to/from array of arrays.

    This website tells me I have to open my file and create a new file and
    put my changes to the new file.
    http://www.rocketaware.com/perl/perlfaq5/How_do_I_change_one_line_in_a_fi.htm

    So here's what I have in mind, or questions on what should I do?
    -create a new blank file
    -open my existing file where it is full of strings with spaces, \n...etc.
    -where do I make my changes?
    -how will all the strings from existing file gets copied to new file?
    -will I need to save all the existing file strings to array of array or
    just array? what will be my separator?
    -then when do I do the copying to new file? Before of after deletion of
    strings from my array of arrays?
    -when or where can I do the deletion?

    Sorry about all the questions? I just can't start coding this if I don't
    know what to do. Please feel free to tell me websites or which perldoc
    I would be needing to research on.

    Thanks.
    kelly, Jan 2, 2006
    #1
    1. Advertising

  2. kelly wrote:
    > By the way, thanks for introducing me the array or arrays. Now I can
    > continue my script.


    No idea what you are talking about, please quote appropriate context when
    refering to an earlier article.

    > Now I want to delete a line from a file. Line being the strings I
    > got/saved to/from array of arrays.


    Your Question is Asked Frequently, see
    perldoc -q "delete a line"

    jue
    Jürgen Exner, Jan 3, 2006
    #2
    1. Advertising

  3. kelly

    Jim Gibson Guest

    In article <>, kelly <> wrote:

    > Hi,
    > I don't have a code to show you, what I need are references or
    > algorithms so that I'm in a right track.
    >
    > By the way, thanks for introducing me the array or arrays. Now I can
    > continue my script.


    Whom are you thanking? Please include some context.

    > Now I want to delete a line from a file. Line being the strings I
    > got/saved to/from array of arrays.
    >
    > This website tells me I have to open my file and create a new file and
    > put my changes to the new file.
    > http://www.rocketaware.com/perl/perlfaq5/How_do_I_change_one_line_in_a_fi.htm


    The first method on this web page is a typical way of modifying a file.
    You should try using it on your file. You should write out your
    modified file using a new name and don't rename it or overwrite the
    existing file. Inspect the contents of the modified file manually until
    you are satisfied that it is correct before coding your program to
    overwrite the contents of your existing file.

    >
    > So here's what I have in mind, or questions on what should I do?
    > -create a new blank file
    > -open my existing file where it is full of strings with spaces, \n...etc.
    > -where do I make my changes?


    Make your changes in the strings that contain the lines from the old
    file after you have read them in but before you write them out.

    > -how will all the strings from existing file gets copied to new file?


    You will write out the lines using the print statement.

    > -will I need to save all the existing file strings to array of array or
    > just array? what will be my separator?


    If you read each line and then write it out, you needn't save it. You
    would only save it if you needed to change more than one line at a time
    or for some other reason.

    > -then when do I do the copying to new file? Before of after deletion of
    > strings from my array of arrays?


    You don't need an array of arrays to modify a file. You only need one
    scalar variable to hold each line, as demonstrated by the solution
    given on your referenced web page.

    > -when or where can I do the deletion?


    You can delete a line by not writing it to the modified file.

    >
    > Sorry about all the questions? I just can't start coding this if I don't
    > know what to do. Please feel free to tell me websites or which perldoc
    > I would be needing to research on.


    You are confusing two different methods for modifying a file. One is to
    read the lines of the file into an array (not an array-of-arrays),
    modify the array, then write out the array to a modified file. The
    other method is to read one line at a time from the old file, modify
    the line if necessary, and write the line out to the file if it should
    be kept.

    Pick one method and stick with it. The first method will have less
    memory usage. The second method allows you to modify more than one line
    at a time. Use whichever method suits your purpose.

    The first method may be implemented using the Tie::File module, as
    Jürgen has recommended. However, I recommend you implement your own
    method until you understand programming in Perl better.

    See the following for more info:

    perldoc -f open
    perldoc perlop (and search for "I/O Operators")

    FYI: this newsgroup is defunct. Try comp.lang.perl.misc in the future.

    Posted Via Usenet.com Premium Usenet Newsgroup Services
    ----------------------------------------------------------
    ** SPEED ** RETENTION ** COMPLETION ** ANONYMITY **
    ----------------------------------------------------------
    http://www.usenet.com
    Jim Gibson, Jan 3, 2006
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Wet Basement
    Replies:
    1
    Views:
    2,516
    BobMonk
    Jul 15, 2003
  2. dpackwood
    Replies:
    3
    Views:
    1,791
  3. Replies:
    0
    Views:
    584
  4. anita
    Replies:
    31
    Views:
    440
    anita
    Aug 24, 2004
  5. vikrant
    Replies:
    4
    Views:
    276
Loading...

Share This Page