Re: Illegal character error for blank line.

2002-02-06 Thread John W. Krahn

Student Of Perl wrote:
> 
> Hi there,

Hello,

> i have very strange problem.
> I have a simple script which I run
> on Windows98 (PC) and it
> executed properly. But when I
> sent it to someboday by email
> who uses Unix ; it give error.
> 
> The first 3 lines of the script are
> comments in following format.
> 
> # comment1
> # comment2
> # comment3 ..
> 
> "the script starts here"
> 
> the two dots after 3rd comments are AS IT IS in
> the script. After the 3rd line ; there is one blank
> line. And after that blank line the sctual script
> starts. So the error given by Perl is that
> 
> "Illegal character \015 (carriage return) at sample.pl line 4."
> 
> In fact the line number 4 is blank(and yes it is carriage
> return). But then why should it give error? By the way
> sample.pl is the name of the script file. The script runs
> properly on my Windows98 but gives above error on
> Unix machine. By the way on my Windows98 machine
> I use ActivePerl ; I dont know about what Perl interpreter
> is used on that remote Unix machine. But anyway I
> am surprised to see that just because I left a blank line
> the Perl should give error? On the contrary Perl is said
> to be quite flexible and forgiving language. And also
> I have never come across such an error before myself.
> Also the "#" is the first character in all the 3 comments
> 
> Pls answer. Its very confusing situation. Once again ;
> I have Win98 and using ActivePerl of ActiveState.
> I typed my script in simple DOS editor.

On Unix there is a utility called dos2unix (IIRC) that can convert DOS
text to Unix text, if not then s/he can use the tr program:

tr -d '\015' < sample.pl > newsample.pl

On the Windows side you could use a programming editor (like UltraEdit)
that can save files in the Unix text format.  AFAIK Perl can run files
on Windows in this format.



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Illegal character error for blank line.

2002-02-06 Thread Dave Benware

Student of Perl wrote:
> 
> Hi there,
> 
> i have very strange problem.
> I have a simple script which I run
> on Windows98 (PC) and it
> executed properly. But when I
> sent it to someboday by email
> who uses Unix ; it give error.
> 
> The first 3 lines of the script are
> comments in following format.
> 
> # comment1
> # comment2
> # comment3 ..
> 
> "the script starts here"
> 
> the two dots after 3rd comments are AS IT IS in
> the script. After the 3rd line ; there is one blank
> line. And after that blank line the sctual script
> starts. So the error given by Perl is that
> 
> "Illegal character \015 (carriage return) at sample.pl line 4."
> 
> In fact the line number 4 is blank(and yes it is carriage
> return). But then why should it give error? By the way
> sample.pl is the name of the script file. The script runs
> properly on my Windows98 but gives above error on
> Unix machine. By the way on my Windows98 machine
> I use ActivePerl ; I dont know about what Perl interpreter
> is used on that remote Unix machine. But anyway I
> am surprised to see that just because I left a blank line
> the Perl should give error? On the contrary Perl is said
> to be quite flexible and forgiving language. And also
> I have never come across such an error before myself.
> Also the "#" is the first character in all the 3 comments
> 
> Pls answer. Its very confusing situation. Once again ;
> I have Win98 and using ActivePerl of ActiveState.
> I typed my script in simple DOS editor.
> Thanks
> -Jim


Did you copy & paste it into the email or send as an attachment?
It is probably your email client that is causing the problem.

I used Wordpad for over a year and never had the problem, except
once when I posted some code on my web site for unix users to download.
It was the web that added the CR's.

Bompa

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Illegal character error for blank line.

2002-02-06 Thread William.Ampeh


In Unix, the person has to do two things

1./   On the very first line of the file, he/she has to insert the location
of his/her
PERL interpreter (the location of the PERL interpreter can be found with
"which PERL").

For example;

redhat1:/home/(38)% which perl
/opt/local/bin/perl   <-- system's response

So, in my case, I will insert

#!/opt/local/bin/perl

On the first line of the file.


2./  Remove ^M from the end of every line.
This could be done by running "dos2unix" on the file, or by simply using
"search and replace"
in a Unix-based editor.  I normally use vi, and then in command mode enter:

:1,$s/^M//

where ^M is created by pressing Ctrl-v followed by Ctrl-m (v and m are
lower case letters).




__

William Ampeh (x3939)
Federal Reserve Board

__

William Ampeh (x3939)
Federal Reserve Board


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Illegal character error for blank line.

2002-02-06 Thread Brett W. McCoy

On Wed, 6 Feb 2002, Tanton Gibbs wrote:

> You've run across the typical cross-platform issues that arise between Unix
> and Windows.  The problem is that Windows uses \r\n to terminate a line
> while Unix just uses \n.  When perl on unix sees \r it doesn't know what to
> do because it only expects \n.  Therefore, to correct the problem, you need
> to change all \r\n to just \n.  A typical way to do this is to run dos2unix
> on the file.  However, not all systems come with dos2unix.  Therefore, you
> can run
>
> perl -e "while( <> ) { s/\r\n/\n/g; print; }" infile.txt > outfile.txt

A simpler way with Perl:

perl -pi -e 's/\cM//g' 

-- Brett
  http://www.chapelperilous.net/

Does a one-legged duck swim in a circle?


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Illegal character error for blank line.

2002-02-06 Thread Tanton Gibbs

You've run across the typical cross-platform issues that arise between Unix
and Windows.  The problem is that Windows uses \r\n to terminate a line
while Unix just uses \n.  When perl on unix sees \r it doesn't know what to
do because it only expects \n.  Therefore, to correct the problem, you need
to change all \r\n to just \n.  A typical way to do this is to run dos2unix
on the file.  However, not all systems come with dos2unix.  Therefore, you
can run

perl -e "while( <> ) { s/\r\n/\n/g; print; }" infile.txt > outfile.txt

and have it remove the extraneous \r characters from  infile.txt and have it
written to outfile.txt

Thanks!
Tanton
- Original Message -
From: "Student of Perl" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, February 06, 2002 5:18 AM
Subject: Illegal character error for blank line.


>
> Hi there,
>
> i have very strange problem.
> I have a simple script which I run
> on Windows98 (PC) and it
> executed properly. But when I
> sent it to someboday by email
> who uses Unix ; it give error.
>
>
> The first 3 lines of the script are
> comments in following format.
>
> # comment1
> # comment2
> # comment3 ..
>
> "the script starts here"
>
> the two dots after 3rd comments are AS IT IS in
> the script. After the 3rd line ; there is one blank
> line. And after that blank line the sctual script
> starts. So the error given by Perl is that
>
> "Illegal character \015 (carriage return) at sample.pl line 4."
>
> In fact the line number 4 is blank(and yes it is carriage
> return). But then why should it give error? By the way
> sample.pl is the name of the script file. The script runs
> properly on my Windows98 but gives above error on
> Unix machine. By the way on my Windows98 machine
> I use ActivePerl ; I dont know about what Perl interpreter
> is used on that remote Unix machine. But anyway I
> am surprised to see that just because I left a blank line
> the Perl should give error? On the contrary Perl is said
> to be quite flexible and forgiving language. And also
> I have never come across such an error before myself.
> Also the "#" is the first character in all the 3 comments
>
> Pls answer. Its very confusing situation. Once again ;
> I have Win98 and using ActivePerl of ActiveState.
> I typed my script in simple DOS editor.
> Thanks
> -Jim
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]