我需要以下Perl代码的一些指导.当我离开时no strict 'refs',sub工作正常.但如果no strict 'refs'删除,我收到错误消息:
Can't use string ("A") as a symbol ref while "strict refs" in use at test.pl
Run Code Online (Sandbox Code Playgroud)
它在下面标记为"Here"的行中死亡.这sub需要从A..Z打开(写>)所有文件,并根据regexREAD文件(LOG)将输出写入相应的文件输出.
use strict;
use Text::CSV_XS;
no strict 'refs';
...
...
sub file_split {
my ( $i, $fh, @FH );
my ( $file ) = @_;
my ( @alpha) = ("A".."Z");
for ( @alpha) {
$fh = $_ ;
open ( $fh,">","$_-$file" ) || die $!; <--------- …Run Code Online (Sandbox Code Playgroud) 我在使用messages上的distinct时对SUM字节列有问题.根据示例表,我需要得到以下结果:
user1 10(我需要使用substring_index从用户中删除域)
user2 10
但在我的所有测试中,user1 @ test.net的字节数正在相加
user1 20
user2 10
username messageid bytes
user1@test.net FD5414C0828B0C498DD655CDA90FFCA83D2D088D67@test.net 10
user1@test.net FD5414C0828B0C498DD655CDA90FFCA83D2D088D67@test.net 10
user2@test.net XX5414C0828B0C498DD655CDA90FFCA83D2D088D77@test2.net 5
user2@test.net YY5414C0828B0C498DD655CDA90FFCA83D2D088D77@test2.net 5
Run Code Online (Sandbox Code Playgroud)
任何的想法?
在此先感谢您的时间和帮助.
干杯,
马塞洛