pipe kan niet geopend worden in perl, wel in VBScript...

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • gepebril
  • Registratie: November 2001
  • Laatst online: 28-03-2023
Hallo heren/dames,

Heb problemen om een stukje code te transformeren van VBScript naar Perl. Een programma SMS studio maakt een pipe aan genaamd 'SendPipe_EBS'

In Vbscript gaat dit goed:
Visual Basic .NET:
1
2
3
PipeName = "SendPipe_EBS"
set fso =  CreateObject("Scripting.FileSystemObject")
set pipe = fso.CreateTextFile("\\.\pipe\SendPipe_EBS") ' Open the pipe instance


In Perl gaat dit fout ......
Perl:
1
2
3
my $computer_name = Win32::NodeName();
my $PipeName = "\\\\".$computer_name."\\pipe\\SendPipe_EBS";
open  FILE_PIPE, ">>".$PipeName or die;


Wat is hier aan de hand?

Perl 5.8/Windows XP & 2003

[ Voor 10% gewijzigd door gepebril op 16-08-2008 14:56 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 13:10
Ik zie dat je hier nieuw bent, dus eerst twee organisatorische punten:
[list]
• Plaats je code bij voorkeur tussen [code][/code] tags (b.v. [code=Perl]perl-code-hier[/code]); dat zorgt ervoor dat het goed leesbaar weergegeven wordt met regelnummers en witruimte intact.
• Groeten en "bij voorbaat dank" e.d. is natuurlijk wel vriendelijk, maar ten behoeve van de efficiëntie van de communicatie is het gebruikelijk die hier achterwege te laten. ;)


Nu inhoudelijk: ik weet niet precies waarom het niet werkt, maar je kunt nog wel wat dingen proberen om dat verder uit te zoeken. Ten eerste, vervang die NodeName eens door een enkele punt, zoals je ook in VBScript deed. Ten tweede, vervang die or die eens door or die $! zodat een foutmelding geprint wordt. Hopelijk levert dat meer informatie op.

Kun je verder op de command line wel schrijven naar die pipe met b.v. copy con \\.\pipe\SendPipe_EBS ? Ik heb niet zoveel ervaring met pipes onder Windows, maar het zou me niet echt verbazen als die op een bijzondere manier geopend moeten worden.

[ Voor 7% gewijzigd door Soultaker op 15-08-2008 23:59 ]


Acties:
  • 0 Henk 'm!

  • gepebril
  • Registratie: November 2001
  • Laatst online: 28-03-2023
@ Soultaker,

Super bedankt voor alle tips, heb reeds het aankondigingsbericht aangepast. Toch raar, vanuit mijn gevoel is efficientie heel mooi en zou goed moeten werken. Vanuit een zakelijk punt gezien werkt het erg tegen je. We hebben per slot van rekening met mensen te maken en niet met machines, wel met code. Woon in Suriname en daar heb ik wel geleerd dat sociaal opstellen je veel verder brengt dan efficient.

Mooi systeem hoor, hier op tweakers, creme de la creme.

copy con, kwam ik zo niet uit, maar de oplossing bleek:
Perl:
1
2
my $PipeName = "\\\\.\\pipe\\SendPipe_EBS";
open  FILE_PIPE, ">".$PipeName or die $!;


Hoe kun je nou deze topic sluiten?

Acties:
  • 0 Henk 'm!

  • Juup
  • Registratie: Februari 2000
  • Niet online
Het topic hoeft niet gesloten te worden, dat doen we alleen met slechte topics.

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:03

Creepy

Tactical Espionage Splatterer

offtopic:
Wat Jaaap zegt dus ;) Met een kleine toevoeging dat de "we" in jaaap z'n post nergens op slaat. Alleen de moderators kunnen posts sluiten

En gepebril: je naam staat al naast je je post. Als iedereen elke keer sociaal "groetjes" etc zou neerzetten dan leest dat gewoon erg vervelend. Dat staat overigens ook prima uitgelegd in Het algemeen beleid. Je sociaal opstellen is natuurlijk prima, het is hier sociaal om je even te verdiepen in de regels :P

[ Voor 29% gewijzigd door Creepy op 16-08-2008 15:48 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney