У меня есть сценарий Perl, который получает 3 arugment.
Первый аргумент очень длинный и содержит пробелы и кавычки, и я на самом деле не знаю, какого размера ожидать, он может быть любого размера. Чтобы отделить мои аргументы, я использую знак ":".
См. Пример:
./my_script.pl 2MT5 4XAW KEAR TTRR YYMM "TEMP 2012 FEB 01": не замужем: 123.x
Проблема в том, что я теряю двойные кавычки и пробелы. Смотрите вывод:
LOG The 1st input is:2MT54XAWKEARTTRRYYMMTEMP 2012 FEB 01
LOG Type is:Single
LOG Version is:123.x
Мой код:
open (FD, ">file2.txt");
print FD @ARGV;
close FD;
my $str1=`cat file2.txt`;
my @argv_values = split(':',$str1);
$new_str = $argv_values[0];
$type = $argv_values[1];
$ver = $argv_values[2];