找到 449 篇文章,关于编程脚本

在Perl中使用GET方法

Mohd Mohtashim
更新于 2019年12月2日 08:09:56

553 次浏览

这是一个简单的URL,它将使用GET方法将两个值传递给hello_get.cgi程序。https://tutorialspoint.com/cgi-bin/hello_get.cgi?first_name=ZARA&last_name=ALI以下是 hello_get.cgi 脚本,用于处理Web浏览器提供的输入。#!/usr/bin/perl local ($buffer, @pairs, $pair, $name, $value, %FORM); # 读取文本 $ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/; if ($ENV{'REQUEST_METHOD'} eq "GET") {    $buffer = $ENV{'QUERY_STRING'}; } # 将信息拆分为名称/值对 @pairs = split(/&/, $buffer); foreach $pair (@pairs) {    ($name, $value) = split(/=/, $pair);    $value =~ tr/+/ /;    $value =~ s/%(..)/pack("C", hex($1))/eg;    $FORM{$name} = $value; } $first_name = $FORM{first_name}; $last_name = $FORM{last_name}; print "Content-type:text/html\r\r"; print ""; print ""; print "Hello - Second CGI ... 阅读更多

使用Perl显示“文件下载”对话框

Mohd Mohtashim
更新于 2019年12月2日 08:05:20

236 次浏览

有时,您可能希望提供一个选项,用户单击链接后会弹出一个“文件下载”对话框,而不是显示实际内容。这非常简单,可以通过使用Perl脚本的HTTP标头来实现。此HTTP标头将与上一节中提到的标头不同。例如,如果您想使FileName文件可以通过给定链接下载,则其语法如下:#!/usr/bin/perl # HTTP标头 print "Content-Type:application/octet-stream; name = \"FileName\"\r"; print "Content-Disposition: attachment; filename = \"FileName\"\r"; # 实际... 阅读更多

Perl CGI环境变量

Mohd Mohtashim
更新于 2019年12月2日 08:04:03

2K+ 次浏览

所有Perl CGI程序都可以访问以下环境变量。这些变量在编写任何Perl CGI程序时都起着重要作用。序号变量名称和说明1CONTENT_TYPE内容的数据类型。当客户端向服务器发送附加内容时使用。例如文件上传等。2CONTENT_LENGTH查询信息的长度。仅对POST请求可用3HTTP_COOKIE以键值对的形式返回设置的Cookie。4HTTP_USER_AGENTUser-Agent请求头字段包含有关发出请求的用户代理的信息。它的名称是Web浏览器的名称。5PATH_INFOCGI脚本的路径。6QUERY_STRING发送的URL编码信息... 阅读更多

使用Perl的第一个CGI程序

Mohd Mohtashim
更新于 2019年12月2日 08:01:54

327 次浏览

这是一个名为hello.cgi文件的简单Perl CGI程序。此文件已保存在/cgi-bin/目录中,其内容如下。在运行CGI程序之前,请确保使用chmod 755 hello.cgi UNIX命令更改文件的模式。#!/usr/bin/perl print "Content-type:text/html\r\r"; print ''; print ''; print 'Hello Word - First CGI Program'; print ''; print ''; print 'Hello Word! This is my first CGI program'; print ''; print ''; 1;现在,如果您单击hello.cgi链接,则请求将发送到Web服务器,Web服务器将在/cgi-bin目录中搜索hello.cgi,执行它,并将生成的任何结果发送... 阅读更多

Perl中有用的DBI函数

Mohd Mohtashim
更新于 2019年12月2日 08:00:02

96 次浏览

检查available_drivers@ary = DBI->available_drivers; @ary = DBI->available_drivers($quiet);通过搜索@INC中的目录中的DBD::*模块来返回所有可用驱动程序的列表。默认情况下,如果某些驱动程序被同一名称的早期目录中的其他驱动程序隐藏,则会发出警告。为$quiet传递真值将抑制警告。检查installed_drivers%drivers = DBI->installed_drivers();返回当前进程中“安装”(加载)的所有驱动程序的驱动程序名称和驱动程序句柄对列表。驱动程序名称不包含“DBD::”前缀。检查data_sources@ary = DBI->data_sources($driver);返回通过命名驱动程序可用的数据源(数据库)列表。如果$driver是... 阅读更多

在Perl数据库操作中使用NULL值

Mohd Mohtashim
更新于 2019年12月2日 07:57:00

803 次浏览

未定义值或undef用于指示Perl的数据库操作中的NULL值。您可以像使用非NULL值一样插入和更新具有NULL值的列。这些示例使用NULL值插入和更新age列−$sth = $dbh->prepare(qq {    INSERT INTO TEST_TABLE (FIRST_NAME, AGE) VALUES (?, ?) }); $sth->execute("Joe", undef);这里qq{}用于返回一个带引号的字符串到prepare API。但是,在尝试在WHERE子句中使用NULL值时必须小心。考虑−SELECT FIRST_NAME FROM TEST_TABLE WHERE age = ?将undef(NULL)绑定到占位符将... 阅读更多

Perl中的COMMIT和回滚操作

Mohd Mohtashim
更新于 2019年12月2日 07:56:02

775 次浏览

COMMIT操作Commit是向数据库发出确认更改的信号的操作,此操作之后,无法将任何更改恢复到其原始位置。这是一个调用commit API的简单示例。$dbh->commit or die $dbh->errstr;ROLLBACK操作如果您对所有更改不满意,或者在任何操作过程中遇到错误,您可以使用回滚API将这些更改恢复。这是一个调用回滚API的简单示例。$dbh->rollback or die $dbh->errstr;开始事务许多数据库都支持事务。这意味着您可以进行大量会修改数据库的查询,但没有一个... 阅读更多

Perl中的数据库DELETE操作

Mohd Mohtashim
更新于 2019年12月2日 07:54:26

674 次浏览

当您想从数据库中删除一些记录时,需要Perl DELETE操作。以下是删除AGE等于30的所有TEST_TABLE记录的过程。此操作将采取以下步骤。根据所需条件准备SQL查询。这将使用prepare() API完成。执行SQL查询以从数据库中删除所需记录。这将使用execute() API完成。释放语句句柄。这将使用finish() API完成。如果一切顺利,则提交此操作,否则您可以回滚完整事务。$age = 30; my $sth = $dbh->prepare("DELETE FROM TEST_TABLE WHERE AGE = ?"); $sth->execute( $age ) or ... 阅读更多

Perl中的数据库UPDATE操作

Mohd Mohtashim
更新于 2019年12月2日 07:52:37

979 次浏览

在任何数据库上进行Perl UPDATE操作意味着更新数据库表中已有的一个或多个记录。以下是更新所有SEX为'M'的记录的过程。我们将所有男性的AGE增加一年。这将分三个步骤进行−根据所需条件准备SQL查询。这将使用prepare() API完成。执行SQL查询以从数据库中选择所有结果。这将使用execute() API完成。释放语句句柄。这将使用finish() API完成。如果一切顺利,则提交此操作,否则您可以回滚完整事务。请参阅下一个... 阅读更多

Perl中的数据库READ操作

Mohd Mohtashim
更新于 2019年12月2日 07:51:02

603 次浏览

在任何数据库上进行Perl READ操作意味着从数据库中获取一些有用的信息,即一个或多个表中的一个或多个记录。因此,一旦建立了数据库连接,我们就可以对该数据库进行查询。以下是查询所有AGE大于20的记录的过程。这将分四个步骤进行−根据所需条件准备SQL SELECT查询。这将使用prepare() API完成。执行SQL查询以从数据库中选择所有结果。这将使用execute() API完成。逐一获取所有结果,并... 阅读更多

广告