> 1) If I choose cygwin, the unix development tasks
> go easier. But the Win32 stuff, in particular
> Win32::API, etc. is not compiling

It won't compile in cygwin, but there is no reason why you can't use
ActiveState's Perl with Win32::API under cygwin.  Install it outside of
cygwin, then call it from cygwin just like any other Win32 app.

> In particular, paths are a nightmare - on cygwin's sh,
> they use /cygdrive/c... to prefix things, on mingw,
> they use /c/. Yet, if you try 

This runs under both cygwin and cmd with ActiveState.  Cygwin understands
"c:/".

perl -e "opendir DIR, 'c:/';print readdir(DIR);closedir DIR"

> Also perplexing is the lack of support for junctions
> (reparse points) in -l and link.

I'm not sure what you mean?  -l has no use on cmd.

> Anyone got decent solutions? One of the things I
> was thinking of is a 'preprocessor' to perl that
> takes its arguments (namely script names) and does
> magical tinkering to change /cygdrive/c into C:
> before passing it to perl as a filename.

Use "c:/" in cygwin as noted above.  I'm not sure what else you would want
the preprocessor to do.

If your concern is that for certain tasks you need to use Win32:: modules on
windows, and other modules on *nix you can use $^O to determine which OS the
script is being run on and use that to determine how to carry out an action.

To increase portability you can use the built-in functions like opendir
instead of `ls` or `dir`.  You can also use other modules like Cwd which are
cross platform.

Hope that helps a little.

Rob


-----Original Message-----
From: Edward Peschko [mailto:[EMAIL PROTECTED]
Sent: Tuesday, October 21, 2003 5:32 PM
To: [EMAIL PROTECTED];
[EMAIL PROTECTED]
Subject: perl on win32 annoyances


hey all,

I've been trying to get a consistent perl on win32 experience going here,
where by 
consistent I mean: 

        1) being able to develop unix applications on win32
        2) being able to develop win32 applications on win32

both using perl.

However, in doing so, I'm finding that the perl environments aren't as
uniform as I would
like them to be. 

        1) If I choose cygwin, the unix development tasks go easier. But the
Win32 stuff,
       in particular Win32::API, etc. is not compiling - or at least I'm
missing
           some trick in compiling it.

    2) If I choose cc -Mno-cygwin, it doesn't compile at all.

        3) If I choose mingw32, perl 5.8.1 doesn't compile at all - either.

        4) If I choose ActiveState, the Win32 part goes smoother, but it has
issues 
           integrating with cygwin..

    In particular, paths are a nightmare - on cygwin's sh, they use
/cygdrive/c... to 
        prefix things, on mingw, they use /c/. Yet, if you try 

    /activestate/perl/bin/perl /cygdrive/c/filename.pl

        it doesn't work because perl has no idea of what '/cygdrive/c'
means. Or '/c/'

        Also perplexing is the lack of support for junctions (reparse
points) in 
        -l and link.

        5) if I use cmd.exe and activestate's perl, I get a suboptimal
environment and 
    making unix applications suffer.       

Anyone got decent solutions? One of the things I was thinking of is a
'preprocessor' 
to perl that takes its arguments (namely script names) and does magical
tinkering to 
change /cygdrive/c into C: before passing it to perl as a filename. Or
perhaps a mod
to activestate perl itself that does this translation without user
interference.

Or, perhaps I'm doing something wrong in compiling perl with cygwin to get
activestate's
modules working -- anyone have experience with this?  

Interested to hear if anybody has experience with any of the above, and what
workarounds
people have to offer.. 

Ed
_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to