open(my $in, "<", $filename);
my @data = <$in>;
如果您看到这些行的相应伪代码可能会对您有所帮助,即:
input_file_handle = get_input_file_handle( filename )
data_array = get_lines_of_text_from_file_handle( file_handle )
# Now data_array is an array of lines contained in the file.
在伪代码中,input_file_handle 等价于 Perl 的 $in,data_array 对应于 Perl 的 @data。
多纳特写道:
我不太了解 Perl,只了解基础知识,因为我们必须阅读并在工作中进行非常小的更改。
啊。我注意到,Perl 的许多非明星声誉来自于它的许多用户在没有首先正式学习 Perl 的情况下尝试使用它。他们认为 Perl 就像 C 一样,然后当他们看到在 C 中从未见过的代码时会感到沮丧。而不是坐下来阅读一本好的 Perl 入门书来学习 Perl 的基础知识,他们通常更喜欢 bash Perl。
现在我不是说你是那种人,但我以前见过这种情况。 (比如我工作中的某个人曾经表达了对 Perl 的极度仇恨,因为他无法弄清楚 Perl 代码的一些基本行。当我向他解释这些行时,他平静下来并说这对他来说更有意义,现在它已经被解释过了。想想看——他在没有学会如何使用 Perl 的情况下抨击它。)
当我第一次尝试使用 Perl 时,我认为这很容易,但我很难理解它,尽管我有多年的编码经验。但我没有抨击 Perl,而是决定从一本 Perl 初学者的书中学习 Perl,并很快爱上了 Perl。
所以我建议你也这样做,然后开始学习 Perl。找到合适的书并不难。事实上,我强烈推荐由 Randal L. Schwartz、Brian D. Foy 和 Tom Phoenix 撰写的 O'Reilly 的书“Learning Perl”。它不仅可以很好地教您 Perl,而且还涵盖了许多有用的 Perl 习惯用法和单行语句,并提供了正则表达式的极好介绍。
当程序员开始学习一门新语言,如 C、C++、Java、Python 或 Ruby 时,他们通常会从正式学习开始,无论是通过学校的课程、在线教程、在线课程、他们买的书,或者他们从图书馆借出的书。 (这很有意义。)但是对于 Perl(比我遇到的任何其他语言都更重要),程序员倾向于放弃正式学习它,而是直接跳进去,然后当他们无法理解它时变得沮丧。这不公平地导致 Perl 声誉不佳。
(我并不是说 Perl 没有问题;我只是说人们应该在批评他们不理解的代码之前学习 Perl。)
因此,如果您曾经花时间正式学习一门编程语言,请为 Perl 做同样的事情。我上面提到的“Learning Perl”一书是一个很好的起点。