Вопрос по perl

User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Вопрос по perl

Post by Sabina »

Есть такой фрагмент внутри перл скрипта:

@rrdfetch=qx(/usr/local/rrdtool/bin/rrdtool fetch
/opt/nmis-data/database/interface/router/ca-ple-dc2-ar-02/ca-ple-dc2-ar-02-fastethernet0-0.rrd
AVERAGE -s -30000 -e -300);

Вопрос: можно ли передавать этому скрипту, следующие hardcoded значения:
/usr/local/rrdtool/bin/rrdtool
и
/opt/nmis-data/database/interface/router/ca-ple-dc2-ar-02/ca-ple-dc2-ar-02-fastethernet0-0.rrd

в виде переменных, скажем $rrdtool_home и $fast_enet_home

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

Как это сделать. Подстановкой в лоб не получается :(
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Re: Вопрос по perl

Post by f_evgeny »

Sabina wrote:Есть такой фрагмент внутри перл скрипта:

@rrdfetch=qx(/usr/local/rrdtool/bin/rrdtool fetch
/opt/nmis-data/database/interface/router/ca-ple-dc2-ar-02/ca-ple-dc2-ar-02-fastethernet0-0.rrd
AVERAGE -s -30000 -e -300);

Вопрос: можно ли передавать этому скрипту, следующие hardcoded значения:
/usr/local/rrdtool/bin/rrdtool
и
/opt/nmis-data/database/interface/router/ca-ple-dc2-ar-02/ca-ple-dc2-ar-02-fastethernet0-0.rrd

в виде переменных, скажем $rrdtool_home и $fast_enet_home

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

Как это сделать. Подстановкой в лоб не получается :(

Должно работать. Вот такой, например, скрипт работает:
#!/usr/bin/perl
$command = "/bin/ls";
$keys = "-l";
$file = "test.pl";
$out = qx/$command $keys $file/;
print $out . "\n";
Дальше, все будет только хуже. Оптимист.
User avatar
Sabina
Уже с Приветом
Posts: 5669
Joined: 13 Oct 2000 09:01
Location: East Bay, CA

Re: Вопрос по perl

Post by Sabina »

f_evgeny wrote:
Sabina wrote:...Подстановкой в лоб не получается :(

Должно работать. Вот такой, например, скрипт работает:

#!/usr/bin/perl
....


Ой, ну конечно же работает. Я делала глупую ошибку.

Большое спасибо за оперативный ответ :)

Сабина

Return to “Вопросы и новости IT”