perl6 - Hvordan kan jeg få Perl 6 til at køre på Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg spiller med run på Windows. Prøv det med dir virker ikke, men måske mangler jeg noget:


put '-' x 70;
my $p1 = run 'dir', :out;
put "exit code: {$p1.exitcode}";
put $p1.out.slurp(:close);

put '-' x 70;
my $p2 = Proc.new: :out;
put "exit code: {$p2.exitcode}";
$p2.spawn: 'dir';
$p2.out.slurp(:close).say;


Udgangen er kun reglen og exit kode linjer:


----------------------------------------------------------------------       
exit code: 1                                                                 

----------------------------------------------------------------------       
exit code: 1                                                                 


dir fungerer fint med shell, men det er en anden måde at gøre ting på. Jeg kunne gøre det, men det går gennem skallen, som run ønsker at undgå:


my $p1 = run 'cmd.exe', '/C', 'dir', :out;

Bedste reference


Dette er forventet adfærd, da dir er en shell-kommando, ikke en eksekverbar.


Hvis du rammer ⊞ Vind + R for at åbne køredialogen og indtaste dir, vil den mislykkes af samme grund (medmindre du har en ikke-relateret eksekverbar dir.exe et sted i din vej).

Andre referencer 1


Det kan være en fejl i forbindelse med libuvs håndtering af argumenter. Og dir er en intern cmd.exe kommando. Jeg er ikke så bekendt med Windows selv, men jeg synes, det er bedre at indsende et problem. [14]