仅将文本复制到每行的特殊字符到另一个文件

时间:2013-07-30 07:50:22

标签: perl perl-module

我有一个包含以下数据的文本文件:

ChainCtrlBuildChain() : ChainController.c
ChainCtrlDumpChain() : ChainController.c
ChainCtrlDumpChanCallback() : ChainController.c
ChainCtrlExit() : ChainController.c
ChainCtrlGetBitStreamChan() : ChainController.c
ChainCtrlInit() : ChainController.c

我想只将函数名复制到另一个文本文件中。

我想要的输出:

ChainCtrlBuildChain
ChainCtrlDumpChain
ChainCtrlDumpChanCallback
ChainCtrlExit
ChainCtrlGetBitStreamChan
ChainCtrlInit

我该怎么做?

请注意,根据用户输入,函数名称和类名称会有所不同。


使用user4035's code

$text =~ s/\s:\s.*//g;

我在函数体外有“()”,如

ChainCtrlBuildChain()
ChainCtrlDumpChain()    

1 个答案:

答案 0 :(得分:1)

我只给你文字处理部分。我想,你可以自己做文件I / O.

#!/usr/bin/perl

use strict;
use warnings;

my $text = qq{ChainCtrlBuildChain() : ChainController.c
ChainCtrlDumpChain() : ChainController.c
ChainCtrlDumpChanCallback() : ChainController.c
ChainCtrlExit() : ChainController.c
ChainCtrlGetBitStreamChan() : ChainController.c
ChainCtrlInit() : ChainController.c};

$text =~ s/\s:\s.*//g;
print $text;

打印:

ChainCtrlBuildChain()
ChainCtrlDumpChain()
ChainCtrlDumpChanCallback()
ChainCtrlExit()
ChainCtrlGetBitStreamChan()
ChainCtrlInit()