Hi Anne,
Your script works (on my WinXP instance of ActivePerl anyway) when you
replace the unix-style shebang line with the windoze equivalent, e.g.,
#!c:\perl\bin\perl.exe -w
my $test = shift;
print "$test\n";
Or, you can remove the shebang totally and run
perl anne-test.pl
Mark
Anne L. Highsmith wrote:
(Sorry if this is a duplicate. But I didn't see my first message distributed,
so I'm re-sending from another address)
This is REALLY embarrassing.
After a loooooooooong hiatus, I need to go back to using activestate perl on
my pc to do some work. I don't know whether it's me or my PC or the phase of
the moon, but I can't get my program to recognize command line arguments. I
backed off to the simplest program, i.e.
---------------------------------------------------------------
#!/usr/local/ActivePerl-5.8/bin/perl -w
my $test = shift;
print "$test\n";
----------------------------------------------------------------
and I invoke it from the dos window command line as:
C:\Perl\apps\urls>test.pl Hello
and I get:
Use of uninitialized value in concatenation (.) or string at
C:\Perl\apps\urls\test.pl line 4.
What the HECK am I doing wrong? I've tried enclosing the command line arguments
in single quotes, double quotes and rubber galoshes, but I get the same
response.
I tried changing "my $test = shift;" to "my $test = $ARGV[0];". I copied the
program back to my unix box, with just a change of the shebang line, and it works fine.
When I hardcode the 'Hello' it works fine.
I figure this has to be excruciatingly simple, but I can't see it. Help?
--
Mark Jordan
Head of Library Systems
W.A.C. Bennett Library, Simon Fraser University
Burnaby, British Columbia, V5A 1S6, Canada
Voice: 778.782.5753 / Fax: 778.782.3023
[EMAIL PROTECTED] / http://www.sfu.ca/~mjordan/