无法在Mac上使用Perl读取RTF文件

时间:2011-07-23 09:28:35

标签: perl file macos

我在Mac上试用Perl。 我必须阅读RTF文本文件。该文件的内容是“36”(没有双引号)。就是这样,只有两个字符。

以下是我必须阅读的代码。

#!/usr/bin/perl
use strict;
use warnings;

my $file = "verInfo.rtf";

unless(open FILE, $file) {
    # Die with error message
    # if we can't open it.
    die "\nUnable to open $file\n";
}

my $oldversion = <FILE>;

print "conent is $oldversion";

close FILE;

记住我想要的只是从文件中读取值36并将其作为整数存储在$ oldversion

但是当我读取文件并将其打印出来时,它会打印

conent is {\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360

我无法阅读36。

2 个答案:

答案 0 :(得分:2)

案文在那里:

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
                                                ^^

您有一个RTF文件。使用an RTF parser

答案 1 :(得分:2)

您没有阅读文本文件,而是正在阅读RTF文件。你用TextEdit创建了文件,对吧?默认情况下,TextEdit将文本/ rtf而不是text / plain保存,如果要将文件保存为纯文本,则应在保存之前使用“格式化|制作纯文本”(AKA Shift-Cmd-T);然后你会得到一个简单的文本文件,里面只有你的“36”。