editing a file using perl script

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • kelly

    editing a file using perl script

    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.


    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.

  • Jürgen Exner

    #2
    Re: editing a file using perl script

    kelly wrote:[color=blue]
    > By the way, thanks for introducing me the array or arrays. Now I can
    > continue my script.[/color]

    No idea what you are talking about, please quote appropriate context when
    refering to an earlier article.
    [color=blue]
    > Now I want to delete a line from a file. Line being the strings I
    > got/saved to/from array of arrays.[/color]

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

    jue


    Comment

    • Jim Gibson

      #3
      Re: editing a file using perl script

      In article <43B98631.90407 06@some.com>, kelly <kelly@some.com > wrote:
      [color=blue]
      > 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.[/color]

      Whom are you thanking? Please include some context.
      [color=blue]
      > 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/perl...ne_in_a_fi.htm[/color]

      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.
      [color=blue]
      >
      > 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?[/color]

      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.
      [color=blue]
      > -how will all the strings from existing file gets copied to new file?[/color]

      You will write out the lines using the print statement.
      [color=blue]
      > -will I need to save all the existing file strings to array of array or
      > just array? what will be my separator?[/color]

      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.
      [color=blue]
      > -then when do I do the copying to new file? Before of after deletion of
      > strings from my array of arrays?[/color]

      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.
      [color=blue]
      > -when or where can I do the deletion?[/color]

      You can delete a line by not writing it to the modified file.
      [color=blue]
      >
      > 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.[/color]

      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 **
      ----------------------------------------------------------
      Best Usenet Service Providers 2025 ranked by Newsgroup Access Newsservers, Usenet Search, Features & Free Trial. Add VPN for privacy.

      Comment

      Working...