shell命令在我的perl脚本中无法正常工作

时间:2014-03-15 05:53:22

标签: perl

我正在使用以下命令,当我从命令提示符运行时,该命令正常工作,我能够得到如下正确的答案

ನನ್ನ ಫೋಟೋ
ನನ್ನ ಸಂಪೂರ್ಣ ಪ್ರೊಫೈಲ್ ವೀಕ್ಷಿಸಿ
ಬ್ಲಾಗ್ ಆರ್ಕೈವ್

但是当我尝试从浏览器运行相同的命令时,它给出了错误的答案

ನನ್ನ ಫೋಟೋ
ನನ್ನ ಸಂಪೂರ್ಣ ಪ್ರೊಫೈಲ್ ವೀಕ್ಷಿಸಿ
ಬ್ಲಾಗ್ ಆರ್ಕೈವ್
  *  ► 2014 (2)
  *  ► March (2)

我的代码是

system("grep '[ಅ-ಳ]' bemkikaddi.blogspot.in-result.txt > try4");

我的try4应该只包含kannada文本,我该怎么做才能帮助我。

2 个答案:

答案 0 :(得分:0)

您的源代码文件是UTF-8编码的吗?然后你应该包括

 use utf8;
在您的脚本中

告诉Perl解释器将您的代码视为UTF-8编码文本。

我不知道你可以这样使用grep

答案 1 :(得分:0)

很难理解你的需求。你是什​​么意思"从浏览器" 运行相同的命令?

此程序将显示您显示的五个文本字符串,并仅打印空格和卡纳达字符。那是否接近你的需求?

use utf8;
use strict;
use warnings;

binmode STDOUT, ':encoding(UTF-8)';

my @text = (
  "ನನ್ನ ಫೋಟೋ\n",
  "ನನ್ನ ಸಂಪೂರ್ಣ ಪ್ರೊಫೈಲ್ ವೀಕ್ಷಿಸಿ\n",
  "ಬ್ಲಾಗ್ ಆರ್ಕೈವ್\n",
  "  *  ► 2014 (2)\n",
  "  *  ► March (2)\n",
);

for (@text) {
  print for /([\s\p{Kannada}]+)/g;
}

<强>输出

ನನ್ನ ಫೋಟೋ
ನನ್ನ ಸಂಪೂರ್ಣ ಪ್ರೊಫೈಲ್ ವೀಕ್ಷಿಸಿ
ಬ್ಲಾಗ್ ಆರ್ಕೈವ್