小编tai*_*iko的帖子

不适当的I/O控制操作

我的问题很简单.但无法解决执行我的Perl脚本后收到的"不适当的I/O控制操作"错误.

#!C:/Perl/bin/perl.exe -w
use strict;

my $file = "D:/file.csv";
open(my $data, '<', $file) or die "Could not open '$file' $!\n";
while (my $line = <$data>) {
    chomp $line; 
    my @fields = split "," , $line;
    print $fields[1]."\n";
}
Run Code Online (Sandbox Code Playgroud)

任何想法,我做错了什么?我在Windows7上的ActiveState perl上运行此脚本

perl syntax-error

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

Perl RegEx:“ ??”的含义

我几年前写的脚本中有一个正则表达式。

我知道这个正则表达式的作用(寻找高于80%的百分比),但我不记得它的含义/原理。我看到使用了三元运算符,并且最后一个封闭的括号匹配,但是例如,我不知道的含义是??

qr/^(\d+)%$(??{$^N>= 80 ? '':'^'})/
Run Code Online (Sandbox Code Playgroud)

谁能为我解释这个正则表达式?

regex perl

5
推荐指数
2
解决办法
152
查看次数

PERL如何将本地时间格式转换为unixtime

谁能帮我这个?我在logfilefile中有一个时间值,其格式如下:

2012年8月28日星期二09:50:06

我需要将此时间值转换为unixtime.

问候

perl unix-timestamp

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

Perl - 作为哈希键变量

  1. 我正在从子程序返回一个哈希值

    my %hash = %{subroutine()};
    
    Run Code Online (Sandbox Code Playgroud)
  2. 后来我想使用hash元素如下

    if (defined $hash{LEVEL_1_KEY}{LEVEL_2_KEY}){
    .
    .
    .}
    
    Run Code Online (Sandbox Code Playgroud)

这很好用.但是如果我想尝试使用来自变量的LEVEL_1_KEY的相同元素.它不起作用.例如

my $var = "LEVEL_1_KEY";
if (defined $hash{$var}{LEVEL_2_KEY}){
...
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我应该使用一些撇号,还是$ var的引号?我尝试了几件事,但还没有成功.

perl hash

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

标签 统计

perl ×4

hash ×1

regex ×1

syntax-error ×1

unix-timestamp ×1