首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl -在Padre,Windows中工作的脚本。但不是在Linux Ubuntu中

Perl -在Padre,Windows中工作的脚本。但不是在Linux Ubuntu中
EN

Stack Overflow用户
提问于 2016-01-07 23:32:16
回答 1查看 107关注 0票数 0

我试着把我的脚本转移到我一直在Windows上工作的地方。但它在第一个障碍时就失败了。

代码语言:javascript
复制
use strict;
use warnings;

my $keywordFile = 'keyword.txt';        

open(keyWords, $keywordFile) or die "$keywordFile not found\n";

my @keywordArray;

while ( my $line = <keyWords> ) {
    chomp $line;
    push @keywordArray, $line;
}

close(keyWords);

它一直在死亡,即使在同一个目标中有一个名为'keyword.txt‘的文件。问题是来自Ubuntu,还是我的Perl错了?

EN

回答 1

Stack Overflow用户

发布于 2016-01-08 00:24:47

即使在同一个目标中有一个名为'keyword.txt‘的文件,它也会一直挂掉。

根据工作目录(即运行脚本的目录)解析相对路径,而不是解析脚本所在的目录。

你应该选择

  1. 从包含所有所需文件的目录运行脚本
  2. 使用FindBin模块获取脚本位置,并使用该路径引用文件名:

例如:

代码语言:javascript
复制
use FinBin;
my $keywordFile = "$FindBin::Bin/keyword.txt";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34659022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档