Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> @ARGV-что это? Как работает это работает? 
:(
    Опции темы
Uran34
Дата 23.11.2010, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 9.11.2010

Репутация: нет
Всего: нет



Подскажите, что это, и как работает? Не могу разобраться.
Код

#!/usr/bin/perl
@ARGV==2 die "Ошибка $!";
($figlename, $argument)=@ARGV;
open(my $orig, ">",$filename) die "Ошибка открытия файла $!" ;

PM MAIL   Вверх
gcc
Дата 23.11.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



perl.pl
Код

#!/usr/bin/perl

use Data::Dumper;
print Dumper \@ARGV;




Код

./perl.pl 666 666

Код

$VAR1 = [
          '666',
          '666'
        ];



массив c параметрами которые иду в скрипт c STDIN

Это сообщение отредактировал(а) gcc - 24.11.2010, 23:01
PM WWW ICQ Skype GTalk Jabber   Вверх
Jimy
Дата 24.11.2010, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 4.7.2010

Репутация: нет
Всего: 3



Цитата(gcc @ 23.11.2010,  19:35)
которые иду в скрипт c STDIN

из командной строки
PM   Вверх
Uran34
Дата 24.11.2010, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 9.11.2010

Репутация: нет
Всего: нет



Вообщем-то, более менее смог понять, что строка с ($var1, $var2)=@ARGV передает переменным
$var1, $var2 значения индексов массива @ARGV (последовательно:[0] и[1]). Но откуда в массиве этом берутся значения?
И что означает вторая строка в приведенном мною коде: @ARGV==2 or die...?
PM MAIL   Вверх
Uran34
Дата 24.11.2010, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 9.11.2010

Репутация: нет
Всего: нет



Это что, значит я должен с клавиатуры вводить данные?
PM MAIL   Вверх
steyraug
Дата 26.11.2010, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.8.2010

Репутация: нет
Всего: нет



Цитата

Но откуда в массиве этом берутся значения?


Вышу уже написали - это аргументы командной строки. То есть, запустил ты, к примеру, какой-то скрипт "myscript.pl -k -w". "-k" и "-w" будут являться переданными параметрами.

Цитата

И что означает вторая строка в приведенном мною коде: @ARGV==2 or die...?


Остановить выполнение программы, если количество переданных аргументов не равно 2.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.