in reply to Strange File read problem

It's a little known fact that the Perl 5 parser will reject any input lines containing the string "Java". That's probably what's getting you.1

Seriously, there's nothing obviously wrong with your program. I would suggest first trying to pin down whether the problem is with reading the file or outputting results. For instance, right after you close the filehandle, add: print "I got ", scalar(@lines), " from the file\n"; If you get one line, the problem's with the input, and if you get seven lines, it's with the output. At least that will split the program in two, and you can concentrate on half as much code.

Is there anything screwy with the file delimiters? Did you by chance copy it from, say, Unix to Windows in binary mode? Also, if your output is to a shell, try saving it in a file and seeing if there's any funny characters in there.

HTH

1<voice type="cartoon" character="Foghorn Leghorn">That's a joke, son. Yuk it up.</voice>

Replies are listed 'Best First'.
Re: Re: Strange File read problem
by abhishes (Friar) on Apr 09, 2003 at 17:49 UTC

    OK the problem is with screwy file delimiters. If I open the same file in notepad, then the file appears all in one line with a "rectangle" like character in between my lines. (funny thing is that if I copy paste that "rectange like" character into this window it results into a new line!!)

    I suppose this is a character which textpad and eclipse java editor find OK but notepad and perl do not recognize this as a newline character.

    But now how do I solve this problem ? I am kind of stuck...I have two kinds of newlines in my source code and I have to write a utiltity which has to reads all the lines of the source code and process it. Can I find this character and replace it with the one which is universally regarded as a newline?

    Please help I am confused!

    regards,
    Abhishek.

      Try to find out the hex value of the character first - maybe by using a hex editor on the file(?)

      IMO, it'll differ from the newline hexcode

      Cheers,
      MichaelD