脚本从文件中读取行,这是代码:
#!/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) 有必要只读取页面的一部分(n个字节)并关闭连接,如何在AnyEvent :: HTTP上执行此操作?
当从MyISAM切换到InnoBD时,我使用了默认设置。阅读优化提示后,我意识到每个表最好放在单独的文件中。如何将表从一个文件传输到每个表模式的单独文件中?
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) #!/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)
怎么解决?