我的问题很简单.但无法解决执行我的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上运行此脚本
我几年前写的脚本中有一个正则表达式。
我知道这个正则表达式的作用(寻找高于80%的百分比),但我不记得它的含义/原理。我看到使用了三元运算符,并且最后一个封闭的括号匹配,但是例如,我不知道的含义是??:
qr/^(\d+)%$(??{$^N>= 80 ? '':'^'})/
Run Code Online (Sandbox Code Playgroud)
谁能为我解释这个正则表达式?
谁能帮我这个?我在logfilefile中有一个时间值,其格式如下:
2012年8月28日星期二09:50:06
我需要将此时间值转换为unixtime.
问候
我正在从子程序返回一个哈希值
my %hash = %{subroutine()};
Run Code Online (Sandbox Code Playgroud)后来我想使用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的引号?我尝试了几件事,但还没有成功.