EIJHHH - never thought about it - COOOL.
⍝IBM APL:
⍎ ')HOST ls'
VALUE ERROR
)HOST ls
^
⍎')HOST ls'
^
⍝ GNU-APL:
l ← ⍎ ')HOST ls -1'
And it works:-)) Makes life much easier.
f ← ⍎ ')HOST cat filename'
⍝ returns the file as nested vector
⍝ No intermediate file required.
⍝ Does not like binary data:
⍴⍎')HOST cat /OTH/APL/trunk/src/apl-Symbol.o'
Bad UTF8 string: 0x48 0x8B 0x45 0xD8 0x48 0x83 0xC0 0x30 0xEB 0x05 0xB8 at UCS_string.cc:120 .....
doc/apl.info (incorrectly) reads:
snip
Like system commands, user-define commands can only be
executed in immediate
execution mode and not from user-defined functions
or from ⍎.
/snip
A last thought:
How to connect apl-command_line to host-stdin? Like
&⍞ ← 'test test test'
⍎ ')HOST &0 > data_entry_from_apl'
OK - Just a weekend. Asking too much:-)
Best Regards
Hans-Peter
Am 31.10.20 um 14:39 schrieb
Dr. Jürgen Sauermann:
Hi,
On 10/30/20 6:14 PM, Kacper Gutowski wrote:
On Fri, Oct 30, 2020 at 02:34:35PM
+0100, Dr. Jürgen Sauermann wrote:
There is also ⎕FIO[26] which
reads an entire file, but I am not sure how it works
with popen()ed streams.
It doesn't at all because it takes a path which
additionally needs to be a regular file because it's
mmaped rather than read.
For the record, something like ⍎')HOST ...' might
sometimes be practical.
-k
That is actually a cool idea: run your pipe or program
with )HOST, forward the
output into some /tmp/xxx and read back /tmp/xxx. It also
gives you some more
control over using stdout, stderr, or both from the
executed program .
Jürgen