На самом деле есть нечто, называемое Perl Shell (psh) и доступное из архива CPAN.
Я не пробовал, но все документы есть:
$ cpan
cpan> install Psh
EDIT
Я немного поиграл с этим. Я должен был изменить PS1
, чтобы он не мешал Psh. Первоначально мой PS1 был установлен на:
PS1=$(print -n "`logname`@`hostname`:";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "\n$ ")
Но Пш не понравилось. Вместо этого, если я использую настройки Bash, он прекрасно работает:
PS1="\u@\h:\W: PSH> "
При запуске я также получаю следующие предупреждения:
Using an array as a reference is deprecated at /Library/Perl/5.12/Psh/StrategyBunch.pm line 260.
Using an array as a reference is deprecated at /Library/Perl/5.12/Psh/Strategy/Darwin_apps.pm line 47.
Но он запускается. Я не разобрался с редактированием истории оболочки, но он требует сценариев Perl:
david@DaveBook:david: PSH> foreach $foo (<*>) {
> print "$foo\n";
> }