LINUX.ORG.RU

как подключить файл с переменными в perl скрипте

 


0

1

нужно написать перл скрипт который будет делать

$c=$a+$b; print $c;

значения $a и $b должны храниться в соседнем файле

так как таких скриптов будет сотня, а переменные $a и $b во всех будут одинаковые, вижу целеесообразным вынести их в отдельный файл, чтобы не менять их в сотне скриптов а сменить в одном файле в случае необходимости.

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

Ответ на: комментарий от DELIRIUM

спасибо мишка, в очередной раз меня выручаешь.

кстати, тот софт который был написан с твой помощью ( несколько регулярных выражений (комментарий) )

до сих пор функционирует, хотя я уволился от туда год назад.

diakon2
() автор топика

Правильное решение уже подсказали выше, а я мимокрокодилом замечу:

значения $a и $b должны храниться в соседнем файле

Переменные с именами $a и $b зарезервированы в Perl 5 для sort (и компании), не используй их в других целях (напр. как обычные переменные).

https://perldoc.perl.org/perlvar.html

$a
$b
Special package variables when using sort(), see sort. Because of this specialness $a and $b don't need to be declared (using use vars , or our()) even when using the strict 'vars' pragma. Don't lexicalize them with my $a or my $b if you want to be able to use them in the sort() comparison block or function.

KennyMinigun ★★★★★
()
Ответ на: комментарий от diakon2

их можно ведь использовать?

Да, главное правило не использовать переменные названные одной буквой (ну, кроме может счетчиков: $i, $j, $k) и еще use English; добавляет несколько $UPPERCASE переменных (но лучше их не занимать и без оного).

Просто посматривай: https://perldoc.perl.org/perlvar.html

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

Мы ответственны за тех кому пишем код в помощь! :D :D :D

vtVitus ★★★★★
()
Ответ на: комментарий от anonymous

решение уже запилено и работает.

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

diakon2
() автор топика

это не perl way

всё статичное можно хранить в любом текстовом файле, для обработки которых, perl, собственно и создавался...

$ cat login 
login, pass, db, host

$ cat login | perl -e 'while (<>) { print ;}'
login, pass, db, host

$ cat login | perl -e 'while (<>) { print (split(/,/, $_)) ;}'
login pass db host

ukr_unix_user ★★★★
()
Ответ на: комментарий от diakon2

главное чтобы было понятно начинающему.

perl не очень понятен начинающим, а письки-жопы это да всем понятно. Даже не смотря на то, что все знают пися в писю - хорошо, а пися в жопу - плохо...

ukr_unix_user ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.