草庐IT

perl-critic

全部标签

mongodb - 如何捕获 Perl MongoDB 驱动程序的连接错误?

我正在使用officialPerldriver与mongodb一起工作。为了捕获和处理错误,Try::Tiny和Safe::Isa模块是recommended.但是,它没有按预期工作。请检查下面的代码,根据文档应该可以工作,但实际上它不起作用:useMongoDB;useTry::Tiny;useSafe::Isa;my$client;try{$client=MongoDB->connect('mongodb://localhost');$client->connect;}catch{warn"caughterror:$_";};my$collection=$client->ns('f

WIndows Perl-5.36的下载安装记录

最新版本的Perl下载安装记录,自己整理以免忘记perl官网:https://www.perl.org/登入官网后,点击页面中的“DOWNLOAD”,如下图:进入引导界面后,选择“Windows”下的“ActiveStatePerl”,如下图:进入“DownloadPerl”界面,点击“Windows”的“DownloadPerl5.36”,如下图:注意:该步骤后需要进行账户登录,可选择使用GitHub的账户,也可单独注册。进入下载工程配置界面,选择安装组件的名称“Perl”和版本“5.36”,页面下拉,可选择默认配置,或者根据需要进行选配(我选择了默认配置)。如下图:配置界面下拉到底部,需要

perl - 如何在 Perl 脚本中断开与 MongoDB 的连接?

我正在尝试编写一个Perl5脚本,每分钟检查一次MongoDB服务器的状态,并在它关闭时通知我。欢迎对此任务提出任何建议。目前,我正在使用“MongoDB”模块和“MongoDB::MongoClient”建立连接以查看服务器是否可用。这是基本思想:while(1){my$conn=connectMongoDB();if($conn){sleep60;}else{sendMail();last;}}subconnectMongoDB{my$client;eval{$client=MongoDB::MongoClient->new(host=>"mongodb://:\@$server"

perl - MongoDB 日志记录

我正在构建一个日志系统,该系统将记录对分布在多个应用程序节点上的Web服务的请求和响应。我正在考虑使用MongoDB作为存储库并实时登录,或者更实际地在x次请求后将日志转储到数据库。该应用程序被设计成相当大的容量,并且是用Perl构建的。有没有人有这样做的经验?建议?或者这是一个禁忌? 最佳答案 我看到很多公司都在使用MongoDB来存储日志。它的模式自由对于应用程序日志来说非常灵活,在这种情况下模式往往会不时更改。此外,它的CappedCollection功能非常有用,因为它会自动清除旧数据以保持数据适合内存。人们通过正常分组或M

mysql - Perl 与 MySQL 比较日期

我正在努力弄清楚如何使用perl将MySQL日期与当前系统时间进行比较。我有一个在cron作业上运行的脚本,如果当前系统日期/时间超过返回记录的日期/时间,它将发送通知:一个应用程序显示一个TableView:EventIdDeviceLocationCC:123somethingBFETT:456anotherthingBFE脚本的工作原理是它在字段EventID中找到值,从ID(数字部分)解析类型(CC:、TT:等)。该ID是另一个包含结束时间字段的数据库/表中的唯一ID。EventID本身不是唯一的,可能在表中有重复项。每种“类型”的子例程都存在,因为每种类型都有不同的数据库和/

mysql - 使用 Perl/DBI/MySQL/InnoDB 查找外键信息

我想以编程方式查找我的MySQL数据库中特定InnoDB表的外键。我正在使用Perl,我偶然发现了$dbh->foreign_key_info。我刚刚尝试使用它,但它似乎有点错误。它不返回ONDELETE和ONUPDATE信息,尽管它暗示它可以。它还会返回常规索引。感谢您的帮助。usestrict;usewarnings;useDBI;useData::Dumper;my$dbh=DBI->connect("DBI:mysql:database=db;host=localhost","user","password");my$sth=$dbh->foreign_key_info(und

mysql - 带有插入和选择的 perl mySQL 过程在事务中失败

这是我的perl代码:my$dbc=DBI->connect('DBI:mysql:test',"entcfg","entcfg")||die"Couldnotconnecttodatabase:$DBI::errstr";$dbc->{TraceLevel}="2";#debugmode$dbc->{AutoCommit}=0;#enabletransactions,ifpossible$dbc->{RaiseError}=1;#raisedatabaseerrors###sqlcommandsmy$particle_value=$dbc->prepare('CALLparticle

mysql - 如何在 Perl 中提高此 MySQL 查询的性能,直接在 MySQL Workbench 中执行的相同查询快 1600 倍

我在Perl中的MySQL查询比在MySQLWorkbench中的相同查询花费的时间长得多。我正在尝试将Perl查询的性能提高到与Workbench查询大致相同的性能。我在MicrosoftWindows10pro64位、ActivePerl5.24.0Build240064位、使用DBIV1.636、DBD-MySQL4.033和MySQLV5.764位上运行。我找不到任何资源限制。所以InnoDB缓冲池–40%被利用。表打开缓存效率为99%。64GBRAM,16个以3.4Ghz运行的处理器。在此环境中运行的大多数查询速度都可以接受。有一类查询在Perl中运行得非常慢,但在Workb

sql - 使用 perl 自动执行 sql 连接

我有一个前端Web应用程序,它查询MySQL数据库并向用户显示请求的数据。数据库包含25个表;有外键关联表。这里的问题是用户对SQL是全新的;我不能指望他们加入谈判table。我想编写一个自动生成连接的脚本。我想知道Perl中是否有任何模块可以使这项任务更容易?我自己使用SQL的经验只有几个月。请让我知道您对此的看法。 最佳答案 我不知道有任何模块可以通用地执行此操作,创建一个模块非常重要。问题范围从主键/外键匹配的映射(它们的名称并不总是相同),到如何处理NULL值(内连接或外连接?),以确保整个表集甚至可以完全连接。此外,至少在

mysql - Perl DBD 无法连接到 64 位机器上的 MySQL

我在RHEL5.564位机器上。我安装了ActivePerl机器上5.1064位,升级之前内置的Perl5.864位。我已启动并运行MySQL,并且我的PHP项目能够访问它。我的Perl文件需要使用DBD访问同一个数据库,但它无法做到这一点。我已经验证:我的MySQL服务已启动并正在运行。我的用户存在并且数据库和数据确实存在。我能够通过MySQL客户端shell访问数据库中的数据。以下是我的Perl脚本。#!/usr/bin/perluseDBI;$dbh=DBI->connect("DBI:mysql:go:super218:3306","root","NEWPASSWORD")or