Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Can't you specify a platform-specific version? For instance, the following works ok on my linux workstation:
    my @elements = File::Spec::Win32->splitpath( $foo );
    • No because that'll break when a Linux user posts a file from their browser of choice.

      The problem is that File::Spec ridigly describes the path format for one system. If you specify an Win32 system, no other system will work.

      Thanks to muttley [perl.org] I now use the following:

      use File::Basename;
      fileparse_set_fstype("MSWin32"); # just in case it's in Windows style
      my $realname = basename($source);

      And that seems to work a treat.

      • Right, but you can generally get this information from whatever the browser passes as the UserAgent. But that's likely a little too much work just to get a filename without associated directory :-)

        I was just responding to the perceived "I need to parse a filename from another type of filesystem" need.

        • ...get this information from whatever the browser passes as the UserAgent.

          Thats a big assumption of the fact that the client platform information (a) is there and (b) is accurate.

          Admittedly for the majority of our purposes it will be there, but there are those few cases when it could pose a problem. At least with the way muttley suggested we now cover a bigger majority of platforms that will be accessing our systems. If we could cover Macs too, then I think we'd have the lot.

          • Does CGI.pm handle file uploading in a cross-platform way? I'm suggesting, but I've never tried it myself.

            --
            J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers