Re: Question about activestate perl
[email protected] (Mark Jordan)
| Newsgroups | perl.perl4lib |
|---|---|
| Message-ID | <[email protected]> |
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/