小编phi*_*ogg的帖子

使用括号和仅一个变量

我有时会看到像这样的Perl代码:

my ( $variable ) = blah....
Run Code Online (Sandbox Code Playgroud)

将括号括在一个变量周围有什么意义?我认为括号仅在声明多个变量时使用,例如:

my ( $var1, $var2, $var3 ) = blah...
Run Code Online (Sandbox Code Playgroud)

perl

31
推荐指数
4
解决办法
1万
查看次数

我如何在Perl中啜饮STDIN?

我管道输出了几个脚本.其中一个脚本输出整个HTML页面,由我的perl脚本处理.我希望能够将整个58K的文本拉入perl脚本(当然,它将包含换行符).

我认为这可行:

open(my $TTY, '<', '/dev/tty');

my $html_string= do { local( @ARGV, $/ ) = $TTY ; <> } ;
Run Code Online (Sandbox Code Playgroud)

但它只是没有做我需要的.有什么建议?

perl

16
推荐指数
2
解决办法
1万
查看次数

为什么不通过文件名初始化$ ARGV [0]我通过这个perl one liner?

我有一个perl one liner,它应该将xml文件中的每一行导出到它自己的单独文件中,该文件包含原始文件的名称,然后是该文件中来自的文件中的行号.

例如,如果xml文件被称为"foo.xml"并且其中有100行,那么我想要有一百个文件,名为"foo_1.xml","foo_2.xml","foo_3.xml"等.

我认为我传递给一个班轮的文件的名称可以通过ARGV获得,但事实并非如此.我运行时遇到"$ ARGV [0]"中的"未初始化值"错误:

perl -nwe 'open (my $FH, ">", "$ARGV[0]_$.\.xml"); print $FH $_;close $FH;' foo.xml
Run Code Online (Sandbox Code Playgroud)

我在俯瞰什么?

perl

9
推荐指数
1
解决办法
1205
查看次数

awk,尽量不要除以零

我试图用Awk划分两个字段(有时除数可能为零).

我认为这会奏效: awk -F, '{if ($6 != 0) print $3/$6}' <some file>

fatal: division by zero attempted即使我认为如果字段6为零,"if"条件也要注意不要分开,它就会窒息.

我在俯瞰什么?

awk

8
推荐指数
1
解决办法
7621
查看次数

Perl one-liner if else逻辑

我正在评估某些变量是否与预期值匹配.变量由某个程序在内存中设置,其值可以通过自定义程序从shell访问.

我正在将shell命令的输出传递给awk以获取我想要的特定字段,然后我想通过perl运行它以查看它是否与预期值匹配.例如,

ysgrp autostart | awk -F\: '{print $1}' | perl -e 'print {"True"} else {print "False"} if /on/'
Run Code Online (Sandbox Code Playgroud)

但是,我收到了perl关于"} else"附近的编译错误的投诉.如何在perl单行中处理if/then/else逻辑?

perl

7
推荐指数
1
解决办法
2万
查看次数

卷曲 - 什么是终点输出?

我知道终端输出的一部分是请求的持续时间,剩余时间等.但是是否有一些文档准确指定curl命令的终端输出的每一列是什么?手册页的内容很稀疏.

curl

6
推荐指数
1
解决办法
1514
查看次数

试图解析这个SQL

我试图理解这个SQL(来自MySQL安装)实际上是做什么的:

IF(coalesce(a.entity_id, 0) != 0, 0, 1)
Run Code Online (Sandbox Code Playgroud)

虽然我理解coalesce的作用,但我不明白IF语句是如何修改它的.

mysql sql

5
推荐指数
1
解决办法
95
查看次数

Perl脚本,用于计算文件中每行的控制字符数

我需要计算文件每行中控件A字符的数量,我完全难倒,因为我不知道控件A字符的正则表达式是什么.

perl

4
推荐指数
1
解决办法
2585
查看次数

Perl Moose - 从配置文件中加载值等

我是使用Moose的新手,但我想知道如何从配置文件中加载值,然后将这些值作为我的'config'对象的属性公开,其中属性是配置文件中的配置名称.

例如,配置文件可能包含:

server:mozilla.org
protocol:HTTP
Run Code Online (Sandbox Code Playgroud)

所以我想我的配置对象有一个"服务器"与"mozilla.org"的值,并用"HTTP"的值的协议属性属性.

现在我的理解是我必须用a明确命名属性

has 'server'  => ( is => 'ro', isa => 'Str', default => 'mozilla.org' );
Run Code Online (Sandbox Code Playgroud)

我的Config.pm文件中的条目类型.

我如何动态创建这些,以便配置文件可以更改,而不必每次都重写Config.pm?

TIA!

perl moose

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

Python - Paramiko获取错误"对象没有属性"get_fingerprint"

决定第一次尝试Python,如果答案很明显,那就很抱歉.

我正在尝试使用paramiko创建一个ssh连接.我正在使用以下代码:

#!/home/bin/python2.7

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect("somehost.com", username="myName", pkey="/home/myName/.ssh/id_rsa.pub")
stdin, stdout, stderr = ssh.exec_command("ls -l")

print stdout.readlines()
ssh.close()
Run Code Online (Sandbox Code Playgroud)

非常标准的东西,对吗?除了我收到此错误:

 ./test.py
Traceback (most recent call last):
File "./test.py", line 10, in <module>
ssh.connect("somehost", username="myName", pkey="/home/myName/.ssh/id_rsa.pub")
File "/home/lib/python2.7/site-packages/paramiko/client.py", line 327, in connect
self._auth(username, password, pkey, key_filenames, allow_agent, look_for_keys)
File "/home/lib/python2.7/site-packages/paramiko/client.py", line 418, in _auth
self._log(DEBUG, 'Trying SSH key %s' % hexlify(pkey.get_fingerprint()))
AttributeError: 'str' object has no attribute 'get_fingerprint'
Run Code Online (Sandbox Code Playgroud)

它指的是什么"str"对象?我以为我只需要将它传递给RSA密钥的路径,但它似乎想要一些对象.

python ssh paramiko public-key

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

标签 统计

perl ×6

awk ×1

curl ×1

moose ×1

mysql ×1

paramiko ×1

public-key ×1

python ×1

sql ×1

ssh ×1