LINUX.ORG.RU

perl передача параметров из коммандной строки и знак $

 


0

1

проблема с символом $
например:
$str = $ARGV[0];
printf «$str\n»;

./test.pl 012345678
выдаёт:
012345678

но ./test.pl $012345678
выдаёт bash12345678

а ./test.pl '$012345678'
выдаёт $012345678

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

но даже если передать с апострофами, то с этой строкой ничего не получается сделать, например:
$str = '1234$5678';
($a, $b) = split («\$», $str); (так же '$')
не разбивает строку по $, всё пихает в $a

что с этим можно сделать? (кроме как не использовать $)

★★

Последнее исправление: MaR (всего исправлений: 1)

с этой строкой ничего не получается сделать

А что ты хочешь сделать то?

no-such-file ★★★★★
()

и знак доллара в любом другом месте искажает передаваемые параметры

Ты понимаешь, что это делает сам шелл, не перл?

но передавать надо без кавычек и апострофов

Кому надо?

($a, $b) = split («\$», $str);

($a, $b) = split (/\$/, $str);
gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Ты понимаешь, что это делает сам шелл, не перл?

# echo $01234$567
bash123467
да, действительно

/\$/ работает
спасибо

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