• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Передача Данных В Пакет

  • Автор темы cyberblade
  • Дата начала
Статус
Закрыто для дальнейших ответов.
C

cyberblade

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

Скажем есть пакет: LibTestPack.pm

Код:
#!/usr/bin/perl
#
package LibTestPack;
use base 'Exporter';
our @EXPORT=qw(test_data);
sub test_data{
my $local_data = "local";
print "$local_data & $global_data\n";
}
1;

И есть основная программа из которой отбращаюсь к пакету, делаю это так: TestPack.pl

Код:
#!/usr/bin/perl -w
#
print "Content-Type: text/html; charset=utf-8\n\n";

# mod
use DBI;
use URI::Escape;
use CGI qw(:standard);
use CGI::Carp 'fatalsToBrowser';

# package
use lib "library"; # - Путь к файлам
use LibTestPack; # - Подключаю пакет

# list
$global_data = "global"; # Создаю переменную

# Как передать $global_data в пакет подпрограмме test_data?

test_data; # Использую подпрограмму из пакета.

После запуска на сервере программа выдаст local &
Хочу, чтоб выдала local & global
Кому-то вопрос покажется банальным.
Помогите мне разобраться... Спасибо.
 
C

chorny

Точно так же как вообще передают параметры в подпрограммы.

Код:
 test_data($global_data);

sub test_data{
my ($global_data)=@_;
my $local_data = "local";
print "$local_data & $global_data\n";
}
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!