mommydearest has asked for the wisdom of the Perl Monks concerning the following question:
What I am trying to do is ask the user where the file lives, grab the group file, send each cell name in the file to run the.tcl script and if they add a -s or -d switch to the end of the file line the script will run with those switches. When I run the script I get this error message
Global symbol "$opt_s" requires explicit package name at runrv1271.pl line 5. Global symbol "$opt_d" requires explicit package name at runrv1271.pl line 6. BEGIN not safe after errors--compilation aborted at runrv1271.pl line 8.
#!/usr/local/bin/perl -w
#This script will allow the user to run a group of cells using a group file through the .tcl script.
$s = "-use_slopefile 1";
$d = "-dcc 1";
use Getopt::Long;
$groupDir = &promptUser("Enter the entire directory path to your group file.");
GetOptions ('file=s' => \$groupDir,
's=s' => \$s,
'd=s' => \$d);
print "$groupDir\n";
sub promptUser {
my($prompt, $default) = @_;
my $defaultValue = $default ? "$default" : "";
print "$prompt $defaultValue: ";
chomp($input = <STDIN>);
return $input ? $input : $default;
}
open(USERINPUT, "<$groupDir") || die "Sorry, I could not find a group file by that name here. $!\n";
foreach $cell (<USERINPUT>){
chomp $cell;
$ENV{`CLD_RV/rv_char.tcl -cell $cell`);
}
close(USERINPUT);
Global symbol "$opt_s" requires explicit package name at runrv1271.pl line 5. Global symbol "$opt_d" requires explicit package name at runrv1271.pl line 6. BEGIN not safe after errors--compilation aborted at runrv1271.pl line 8.
#!/usr/local/bin/perl -w
#This script will allow the user to run a group of cells using a group file through the .tcl script.
$s = "-use_slopefile 1";
$d = "-dcc 1";
use Getopt::Long;
$groupDir = &promptUser("Enter the entire directory path to your group file.");
GetOptions ('file=s' => \$groupDir,
's=s' => \$s,
'd=s' => \$d);
print "$groupDir\n";
sub promptUser {
my($prompt, $default) = @_;
my $defaultValue = $default ? "$default" : "";
print "$prompt $defaultValue: ";
chomp($input = <STDIN>);
return $input ? $input : $default;
}
open(USERINPUT, "<$groupDir") || die "Sorry, I could not find a group file by that name here. $!\n";
foreach $cell (<USERINPUT>){
chomp $cell;
$ENV{`CLD_RV/rv_char.tcl -cell $cell`);
}
close(USERINPUT);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: How to use getopts?
by bv (Friar) on Mar 09, 2010 at 19:25 UTC | |
Re: How to use getopts?
by toolic (Bishop) on Mar 09, 2010 at 18:51 UTC | |
Re: How to use getopts?
by ssandv (Hermit) on Mar 09, 2010 at 19:03 UTC | |
Re: How to use getopts?
by ikegami (Patriarch) on Mar 10, 2010 at 23:43 UTC |
Back to
Seekers of Perl Wisdom