我是一个Perl新手,并且在解除引用DBI模块中fetchall_arrayref结果的数组时遇到问题:
my $sql = "SELECT DISTINCT home_room FROM $classlist";
my $sth = $dbh->prepare($sql);
$sth->execute;
my $teachers = $sth->fetchall_arrayref;
foreach my $teacher (@{$teachers}) {
print $teacher;
}
Run Code Online (Sandbox Code Playgroud)
运行它将打印引用而不是数组中的值.
但是,当我跑:
my $arrref = [1,2,4,5];
foreach (@{$arrref}) {
print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)
我得到了数组的值.
我究竟做错了什么?谢谢您的帮助!
杰夫
我目前正在使用以下代码:
text = "a, 1; b, 2"
temp = []
text.gsub(/\s+/, "").split(";").each {|x| temp << x.split(",")}
temp # => [["a","1"],["b","2"]]
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种光滑的方式可以在没有额外temp = []线路的情况下完成所有这一切?如何将每个块执行的结果加入到数组中?
谢谢!
我有一个Perl CGI脚本,当我从命令行运行它时工作正常./roster_return.cgi StudentID=101095但是当我在MAMP中运行它时(http://localhost:8888/cgi-bin/roster_return.cgi?StudentID=101095),我的apache日志中出现以下错误:
[Wed May 02 10:56:47 2012] [error] [client 127.0.0.1] install_driver(mysql) failed: Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 1): Library not loaded: libmysqlclient.18.dylib
[Wed May 02 10:56:47 2012] [error] [client 127.0.0.1] Referenced from: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
[Wed May 02 10:56:47 2012] [error] [client 127.0.0.1] Reason: image not found at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
[Wed May 02 10:56:47 2012] [error] [client 127.0.0.1] at (eval 11) line 3
[Wed May 02 10:56:47 2012] [error] [client 127.0.0.1] Compilation failed in …Run Code Online (Sandbox Code Playgroud) 我对以下内容感到困惑:
=TEXT(41432, "mm/dd/yyyy")返回06/07/2013=TEXT(41432, "mm/dd/yyyy")返回06/08/2017都在同一台电脑上!这是怎么回事?谢谢!