草庐IT

strawberry-perl

全部标签

php - mysql 或 perl 函数匹配 Asterisk 拨号方案模式

我有一个旧版本的freePBX(超过5000个分机,数百个IVR),我必须记录它以便迁移到新版本。我必须映射哪些IVR使用哪些中继。为此,我必须将调用的号码与出站路由的拨号模式相匹配。带有我必须匹配的模式的表的“扩展”列看起来像19328555_13XXXX_1933370[0-2]_2805XX_28[3-7]XXX_331XXX_848XXX_85XXXXX_879XXX例如,我必须找到与号码8481234匹配的“分机”模式,然后我才能从另一列中获取主干。我知道一定有一个嵌入到Asterisk中的函数可以像这样工作$number='8481234';$pattern='_879XX

mysql - Perl 脚本或 MySQL 修复?

我是Perl的初学者,刚刚完成了一个perlscipt的调整任务。我现在关注的声明是:my$sth=$dbh->prepare('SELECTStringValueFROMCustomDataWHERE(Record_ID=\''.$ref->{'Record_ID'}.'\'&&Field_ID=\''.$metadata[11].'\')LIMIT1;');当前语句将提取与Record_ID值匹配的每条记录。不过需要修改为只拉取Record_ID以数字1,2,9开头的记录。我认为这更像是一个正则表达式问题,对吗?如果是这样,我应该只修改Record_ID=\''.$ref->{'R

mysql - 为什么用分号连接多个 MySQL 查询对 Perl DBI 不起作用?

我想使用DBI将值插入到两个单独的MySQL表中.我试图通过在它们之间插入;将两个有效的INSERT查询合并为一个:$dbh->do(q{INSERTINTO`testA`(test)values('testvalue111');INSERTINTO`testB`(test)values('testvalue222');});但我总是得到一个错误:Syntacticerrorin"INSERTINTO`testB`(test)values('testvalue222..."如果我将查询分成两个单独的do调用,它就可以工作。但是组合查询在phpMyAdmin中运行良好。为什么它在Perl

mysql - 在 perl/tk 上使用线程来避免窗口卡住/不响应

我正在尝试在我的perl/tk应用程序中使用线程,以便它在连接到远程mysql服务器时不会卡住。#!/usr/bin/perlusewarnings;usestrict;useDBI;useDBD::mysql;useTk;usethreads;usethreads::shared;our$type="mysql";our$database="b_db";our$host="mysite.com";our$port="3306";our$tablename="tc";our$user="example";our$pwd="********";our$dsn="dbi:$type:$da

mysql - Perl DBI 连接不一致

背景我正在从事一个项目,涉及从两个不同的数据库中检索数据。其中一个数据库使用MicrosoftSQL数据库引擎,另一个数据库运行MySQL引擎。我需要一种从配置角度指定数据源名称(DSN)的简单方法,但由于DSN命名约定中的不一致,这对于DBI模块是不可能的(根据我的经验).MySQL考虑以下连接:my$dsn="dbi:mysql:host=$host;database=$db_name";my$dbh=DBI->connect($dsn,$user,$pass);假设主机上存在提供的数据库名称,此连接将成功。我已经测试过很多次了。请自行验证。微软SQL现在我尝试使用相同的DSN连接

android - 如何使用 perl 存储和显示 ISO-8859-1 和 UTF8 字符

我对此很陌生,这对大多数人来说可能很容易,但我已经为此苦苦挣扎了好几天。我正在使用perl编写网络爬虫,网络爬虫将使用LWP和一些简单的正则表达式提取某些信息。这些信息保存在mySQL数据库中,将在android设备上使用。然而,当我测试网络爬虫时,我发现一些信息是使用HTML数字编码(#20856;華)的中文(典华),而一些信息使用iso-8859-1编码(Zhífú)。我使用PERLHTML::Entities库解决了中文部分,当我将控制台设置为utf8时可以显示。但是,其他字母(Zhífú)只能在iso-8859-1中显示。如果我尝试用utf8显示它,它将变成Zh�

mysql - debian 中的 Perl mysql 模块

我有两台服务器运行在redhat和debian上。我正在使用perl脚本进行mysql备份,在redhat中它工作正常。当我在debian上运行它时,出现以下错误:Can'tlocateMysql.pmin@INC(@INCcontains:/etc/perl/usr/local/lib/perl/5.10.1/usr/local/share/perl/5.10.1/usr/lib/perl5/usr/share/perl5/usr/lib/perl/5.10/usr/share/perl/5.10/usr/local/lib/site_perl.)at./dbbackup.pllin

mysql - 如何提高从一个数据库服务器中选择 100 万多行并将它们插入到另一个数据库服务器的 Perl/DBI 脚本的性能?

我使用的是最新版本的MySQL(工作台)、Perl和DBI。我有两个独特的数据库,每个数据库都在独特的服务器上。我在Server1上的DB1上查询表1,加载到一个数组中,然后使用while将所述表插入到Server2上的DB2上的表2中。这不是直接复制,因为我实际上是在表1上进行选择。我正在尝试加快我的脚本或在必要时更改查询。我正在使用绑定(bind)并将准备语句移出循环,这确实很有帮助。但是,我最终还是进行了160万次调用以插入到table2/db2/server2,这会占用大量时间(每次调用3100秒或大约2-3毫秒)。while循环中使用了两个subs&insert2tempDa

mysql - Perl:遇到最后一个数组元素时跳出 foreach 循环

这里是Perl菜鸟。我有一个小脚本(见下文),用于构建MySQLINSERT语句。usestrict;my@records=qw/Record1Record2Record3/;my$insert="INSERTINTOtableVALUES";foreachmy$record(@records){$insert.="('".$record."'),\n";}print"$insert\n";电流输出INSERTINTOtableVALUES('Record1'),('Record2'),('Record3'),我需要知道如何在@records数组的最后一个元素处中断并附加;而不是,期望

android - Android 上的 Perl 代码

我想在我的Android手机(2.3.4)上安装Perl,这样我就可以坐在地铁/火车等上,并使用Vi等在上面编写项目。我找到了几篇关于如何在perl中编写android代码的文章,但我不想那样做。我只想编写实际的perl项目,但将我的手机用作计算机。我假设android是基于linux的,这应该是可能的,而且我知道busybox存在,它有大量的linux/unix命令。所以我想问的是我需要采取什么步骤,我可以只在上面安装普通的perl程序,还是必须对其进行定制才能与android一起使用,也许有人已经这样做了?我还需要能够在上面安装MySQL或SQL。非常感谢。俄罗斯人