小编Dmi*_*riy的帖子

有人写文件时读取文件

脚本从文件中读取行,这是代码:

#!/usr/bin/perl
use strict;
use warnings;
use AnyEvent;

open my $fh, '<', 'input.txt' or die "Can't open file: $!";

my $cv = AE::cv;

my $timer = AE::timer 0, 10, sub {
    printf "TELL: %s EOF: %s\n", tell $fh, eof $fh;
    print while <$fh>;
};

$cv->recv;
Run Code Online (Sandbox Code Playgroud)

如果我通过cat添加行,则脚本会读取新行.但是如果我通过vim编辑器编辑文件,那么脚本就不会在文件中看到任何新行并发出EOF.为什么脚本会以这种方式运行并且看不到新行?

脚本输出:

$ perl test.pl
TELL: 0 EOF:
row_1
row_2
row_3
TELL: 18 EOF: 1
TELL: 18 EOF: 1
TELL: 18 EOF:
row_4
TELL: 24 EOF:
row_5
TELL: 30 EOF: 1
TELL: 30 EOF: 1 …
Run Code Online (Sandbox Code Playgroud)

perl

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

如何使用AnyEvent :: HTTP只获取页面的一部分?

有必要只读取页面的一部分(n个字节)并关闭连接,如何在AnyEvent :: HTTP上执行此操作?

perl anyevent

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

如何将现有数据库的“innodb_file_per_table”参数从“OFF”更改为“1”?

当从MyISAM切换到InnoBD时,我使用了默认设置。阅读优化提示后,我意识到每个表最好放在单独的文件中。如何将表从一个文件传输到每个表模式的单独文件中?

mysql innodb mariadb

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

如何在文件中添加行号?

file.txt的内容:

"16875170";"172";"50"
"11005137";"28";"39"
"16981017";"9347";"50"
"13771676";"13";"45"
"5865226";"963";"28"
Run Code Online (Sandbox Code Playgroud)

带有结果的文件:

"1";"16875170";"172";"50"
"2";"11005137";"28";"39"
"3";"16981017";"9347";"50"
"4";"13771676";"13";"45"
"5";"5865226";"963";"28"
Run Code Online (Sandbox Code Playgroud)

unix linux sed

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

如何修复Perl LWP中的SSL错误?

#!/usr/bin/perl
use strict;
use warnings;

use LWP::UserAgent;

my $ua = LWP::UserAgent->new(
    agent => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4',
    ssl_opts => { verify_hostname => 0 }
);

my $response = $ua->get('https://www.themoviedb.org');
Run Code Online (Sandbox Code Playgroud)

给出错误信息:

无法连接到www.themoviedb.org:443

SSL连接尝试失败错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sllv3警报握手失败,位于/Library/Perl/5.18/LWP/Protocol/http.pm第46行.

我使用macOS Sierra

LWP->VERSION                            6.26
IO::Socket::SSL->VERSION                2.049
Net::SSLeay->VERSION                    1.72
Net::SSLeay::OPENSSL_VERSION_NUMBER()   0x009081df
LWP::UserAgent->VERSION                 6.26
LWP::Protocol::https->VERSION           6.04
Run Code Online (Sandbox Code Playgroud)

怎么解决?

perl ssl lwp

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

标签 统计

perl ×3

anyevent ×1

innodb ×1

linux ×1

lwp ×1

mariadb ×1

mysql ×1

sed ×1

ssl ×1

unix ×1