小编use*_*169的帖子

逐行打印

我一直在尝试为我的服务器开发一个lyrical bot,但在我开始研究之前,我想给它一个测试,所以我用Lyrics :: Fetcher模块想出了这个脚本.

use strict;
use warnings;

use Lyrics::Fetcher;

my ($artist, $song) = ('Coldplay', 'Adventures Of A Lifetime');

my $lyrics = Lyrics::Fetcher->fetch($artist, $song, [qw(LyricWiki AstraWeb)]);

my @lines = split("\n\r", $lyrics);

foreach my $line (@lines) {
        sleep(10);
        print $line;
}
Run Code Online (Sandbox Code Playgroud)

这个脚本工作正常,它抓取歌词并将其打印成一个整体(这不是我正在寻找的).

我希望每隔10秒就能逐行打印歌词.请帮忙?

perl

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

从字符串中获取时间 - Perl

在PHP中你可以做到

strtotime("+1 days");

并获得第二天的机器时间.

我想和Perl一样尝试,我将做一些cron工作来执行某些方法.

我知道你可以str2time在模块http://search.cpan.org/~gaas/HTTP-Date-6.02/lib/HTTP/Date.pm中使用它我似乎无法弄明白.

我尝试了以下方法,但我不确定我是否做得对

use HTTP::Date qw(str2time);
use Time::Piece;
use Time::Seconds;

my $lol = localtime();
my $time = $lol - ONE_HOUR*($lol->hour + 24);

print "Time: " . str2time($time);
Run Code Online (Sandbox Code Playgroud)

perl

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

Perl - 无法调用新方法

我一直在做一个小项目,我决定尝试使用Method :: Signatures,因为我发现它更整洁.

这是没有使用Method::Signatures它工作,我能够使用包和调用方法.

sub new {
    my $self = {};
    bless($self);
    shift;
    $self->{parent} = shift;
    return $self;
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这个时,它不起作用:

 method new($parent) {
   bless {}, $self;
   $self->{parent} = $parent;
   return $self;
 }
Run Code Online (Sandbox Code Playgroud)

我得到一个错误说:"当使用严格的引用时,不能使用字符串("PackageName")作为hashref".

oop perl

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

"chomp"后,返回文件中的所有行

我有一个子程序,用于逐行读取文件的内容.是否可以继续该过程而不是只返回一行?

sub read_lines {
    my ($file) = @_;
    if (open(my $fh, "<", $file)) {
        while (my $data = <$fh>)  {
            chomp ($data);
            return $data;   
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

perl subroutine

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

标签 统计

perl ×4

oop ×1

subroutine ×1