不能在第 12 行使用未定义的值作为符号引用
Can't use an undefined value as a symbol reference on line 12
所以我正在尝试自学 perl 作为一门新语言。我发现学习一门新语言的最好方法是给自己设定一个项目。这个项目是一个文字游戏。我今天晚上才开始。我需要从用户那里获取输入,然后将其写入文件。因为我要一遍又一遍地这样做,所以我认为最好将代码放在子例程中,如下所示。
唯一的问题是我不断收到以下错误:
不能在 book1.pl 第 12 行 <> 第 2 行使用未定义的值作为符号引用。
任何帮助将不胜感激:)
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
my $filename = 'save.txt';
sub open_save{
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
}
sub close_save{
close my $fh;
}
print "Welcome to the 40K universe\nWhat is your first name?";
my $first_name = <>;
print"What is your surname?";
my $surname = <>;
my $name = $first_name . $surname;
open_save();
print "$name";
close_save();
my
创建并 returns 一个新变量。您将这个新变量传递给 close
,它合理地抱怨它不是文件句柄。
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
sub open_save {
my ($filename) = @_;
open(my $fh, '>', $filename)
or die "Can't open file '$filename': $!\n";
return $fh;
}
sub close_save {
my ($fh) = @_;
close $fh;
}
{
my $filename = 'save.txt';
...
my $fh = open_save($filename);
print $fh "$name\n";
close_save($fh);
}
所以我正在尝试自学 perl 作为一门新语言。我发现学习一门新语言的最好方法是给自己设定一个项目。这个项目是一个文字游戏。我今天晚上才开始。我需要从用户那里获取输入,然后将其写入文件。因为我要一遍又一遍地这样做,所以我认为最好将代码放在子例程中,如下所示。
唯一的问题是我不断收到以下错误: 不能在 book1.pl 第 12 行 <> 第 2 行使用未定义的值作为符号引用。
任何帮助将不胜感激:)
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
my $filename = 'save.txt';
sub open_save{
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
}
sub close_save{
close my $fh;
}
print "Welcome to the 40K universe\nWhat is your first name?";
my $first_name = <>;
print"What is your surname?";
my $surname = <>;
my $name = $first_name . $surname;
open_save();
print "$name";
close_save();
my
创建并 returns 一个新变量。您将这个新变量传递给 close
,它合理地抱怨它不是文件句柄。
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
sub open_save {
my ($filename) = @_;
open(my $fh, '>', $filename)
or die "Can't open file '$filename': $!\n";
return $fh;
}
sub close_save {
my ($fh) = @_;
close $fh;
}
{
my $filename = 'save.txt';
...
my $fh = open_save($filename);
print $fh "$name\n";
close_save($fh);
}