2015-11-30 2 views
0

Я только что создал текст test.conf файл с некоторой информацией. Как я могу прочитать его на Perl?
Я новичок в Perl, и я не буду судиться, мне нужно будет сделать это.
Я попытался следующие:Как читать .conf-файл в Perl

C:\Perl\Perl_Project>perl 
#!/usr/local/bin/perl 
open (MYFILE, 'test.conf'); 
while (<MYFILE>) 
{ chomp; print "$_\n"; } 
close (MYFILE); 

Я попытался установить Perl на моем ноутбуке, который имеет ОС Windows 7, и с помощью командной строки.

+2

Это много, чтобы вставить в командной строке. Поместите программу Perl в файл и запустите ее с помощью 'c: \> perl MyPerlProgram.pl'. Кроме того, если это Windows, линия shebang на самом деле ничего не делает для вас. – Hambone

+0

его файл test.conf, который я создал ..... его не test.pl Я боюсь, что я этого не понял. – userlearningpython

+0

Проверьте https://metacpan.org/pod/Config::Tiny – Miller

ответ

2

Вместо использования командной строки, написать программу в файле (вы можете использовать любой редактор, чтобы написать программу, я хотел бы предложить использовать Notepad++) и сохранить как myprogram.pl в той же директории, где у вас есть файл .conf.

use warnings; 
use strict; 

open my $fh, "<", "test.conf" or die $!; 
while (<$fh>) 
{ 
    chomp; 
    print "$_\n"; 
} 
close $fh; 

Теперь откройте командную строку и перейти на тот же путь, где у вас есть ваш как файл myprogram.pl и test.conf файл и выполнить программу, введя это:

perl myprogram.pl 

Вы можете дать полный путь вашего входного файла внутри программы и может запускать вашу программу из любого пути из командной строки, указав полный путь к вашей программе:

perl path\to\myprogram.pl 

Боковое примечание: Всегда используйте use warnings; и use strict; в верхней части вашей программы, и для открытия файла всегда используйте лексическую дескриптор файла с тремя аргументами с обработкой ошибок.

1

Это расширенный комментарий больше, чем ответ, так как я считаю, что @serenesat предоставил вам все необходимое для выполнения вашей программы.

Когда вы «командную строку» Perl, это, как правило, материал, который является относительно коротким или тривиальными, таких как:

perl -e "print 2 ** 16" 

Все, что выходит за рамки нескольких строк, и вы, вероятно, лучше положить, что в файле и с Perl запустить файл. Вы, конечно, можете положить большие программы в командной строке, но когда дело доходит до возврата и редактирования строк, это становится скорее хлопот, чем ярлык.

Кроме того, для того, что это стоит -n и -p параметры позволяют обрабатывать содержимое потока, то есть вы могли бы сделать что-то вроде этого:

perl -ne "print if /oracle/i" test.conf 
Смежные вопросы