小编Tem*_*jin的帖子

如何从带有键的数组和带有值的另一个数组中创建Perl哈希?

在Perl中,如何从数组中生成哈希@A@B具有相同数量的元素?目标是让每个价值@A成为价值的关键@B.产生的散列%C将使得可以从@B提供密钥中唯一地标识元素@A.

arrays perl hash

8
推荐指数
2
解决办法
403
查看次数

如何使用Perl打印JSON数据而不使用JSON模块?

我正在尝试为我在SourceForge上托管的字典项目编写自动完成功能.不幸的是,SF上的Perl没有安装JSON模块.如何在不使用模块本身的情况下解决此问题?作为模型,我在jensbits上使用JQuery UI自动完成指南.

这是Perl代码,它应该查询文本并发送到自动完成模块

#!/usr/bin/perl
use strict;
use CGI;
use DBI;
use JSON;
# HTTP HEADER 
print "Content-type: application/json; charset=iso-8859-1\n\n";

my $dbh = DBI->connect("DBI:mysql:database;mysql_read_default_file=/path/.my.cnf");

$dbh->do("set character set utf8");
$dbh->do("set names utf8");

my ($p, $sth, @query_output); 

$p = new CGI;
my $term = $p->param('term');

$sth = $dbh->prepare(qq{SELECT trim(both char(13) FROM article) AS value, definition FROM dict WHERE article like ?;});
$sth->execute('%'.$term.'%');

# LOOP THROUGH RESULTS
while ( my $row = $sth->fetchrow_hashref ){
push @query_output, $row;
}
#CLOSE THE …
Run Code Online (Sandbox Code Playgroud)

mysql perl json

8
推荐指数
2
解决办法
3666
查看次数

如何在vim中快捷方式设置菱形字符

在我正在编辑的字典文件中,我经常需要在<>的位置插入字符"◊".有没有办法将"◊"映射到某个键,这样我按"r"代替,然后my_shortcut将<>替换为"◊"?我找到了一种在.vimrc中制作imap映射的方法:

:imap <> ?
Run Code Online (Sandbox Code Playgroud)

但是更改为插入模式是次优的,是否可以将它全部置于替换模式中,我应该在.vimrc中写什么?

mapping vim

4
推荐指数
2
解决办法
420
查看次数

在Perl中重新排序字母排序

我正在尝试修复亚美尼亚字母表中的排序,因为所有标准的Unix工具和编程语言只对两种主要方言中的一种(西方)排序字母和单词.

把它翻译成技术问题就是重新命令其中一个字符" ւ ",把它放在字母之间的不同位置,让我们说它是最后一个字符,以便为顺序方言(东方)正确排序单词.在语言上用东方方言来说,这个" ւ "符号不是"独立的",而是用2个字符" ու " 写的字母的一部分.目前的排序将字母" ու " 置于"ոք"或"ոփ"2字母构造之后.

基本上,如果你想让例如字母"v"代替拉丁字母表中的字母"z",它应该是完全相似的.

我想尝试使用类似的东西

#!/usr/bin/perl -w
use strict;

my (@sortd, @unsortd, $char_u, $char_x);
#@unsortd = qw(????? ????? ??????? ???? ????? ????? ???);
@unsortd = qw(?? ?? ?? ??);

@sortd = sort {
  $char_u = "?";
  $char_x = split(//, @unsortd);
  if ($char_u gt $char_x) {
    1;
  } else {
    return $a cmp $b;
  } 
} @unsortd;

print "@sortd\n";
Run Code Online (Sandbox Code Playgroud)

但这并不是整个单词的缩放,只有2个字母的形式是固定的.

更新:我能够使用tr函数解决这个问题,将字母映射到数字,如Perlmonks所示

sorting perl alphabetical

3
推荐指数
1
解决办法
330
查看次数

map {lc}不适用于数组

我有一个带有单词列表的文件,每个都在新行和大写字母中,如

  • AAA
  • BBB
  • CCC
  • 等等

现在,应该将数组转换为小写但失败的代码出了什么问题:映射数组又是大写的?

#!/usr/bin/perl -w
open(MYFILE, "$ARGV[0]") || die "opening bigList $!";
@Llist=<MYFILE>;
close (MYFILE);

@lc_word = map { lc } @Llist;
print @lc_word;
Run Code Online (Sandbox Code Playgroud)

arrays perl

0
推荐指数
1
解决办法
1227
查看次数

标签 统计

perl ×4

arrays ×2

alphabetical ×1

hash ×1

json ×1

mapping ×1

mysql ×1

sorting ×1

vim ×1