ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> perl-win32-web
perl-win32-web
Re: Perl/Binmode issue
by $Bill Luebkert other posts by this author
Jan 6 2007 4:20PM messages near this date
view in the new Beta List Site
Perl/Binmode issue | Re: Perl/Binmode issue
Zahir Lalani wrote:
>  Hello
>   
>  not sure what is going on here. I have a standard xampp install on win 
>  XP, with the updated install of perl - which is activeperl 5.8.8. I have 
>  some test code to send a pdf from the cgi to the browser as follows:
>   
>  
>  #!C:/Program Files/xampp/perl/bin/perl
>  
>  print "Content-Type:application/pdf\n";
>  print "Content-Disposition:attachment;filename=test3.pdf\n\n";
>  
>  my $files_location;
>  my $ID;
>  my @fileholder;
>  
>  $files_location = "C:\Data\Perl";
>  
>  open(DLFILE, "<$files_location\test.pdf");
>  binmode(DLFILE);
>  binmode(STDOUT);
>  @fileholder = <DLFILE>;
>  close (DLFILE);
>  
>  print @fileholder;
>  
>  ====
>  
>  When I run this, I get the save as dialog. Whether I save or open 
>  directly, the resulting data is deemed as corrupt by acrobat. If I 
>  access the file directly via apache rather than the cgi, it works fine. 
>  To make sure the code was OK, I ran the same code (apart from the paths 
>  and the binmode) on a unix install - and it worked fine. I also tried an 
>  equivalent version of PHP via the xampp install - worked fine. So this 
>  seems to be a perl issue on win32.
>  
>  Has anyone got a clue as to what the problem could be?

The only thing obvious is your \s should be \\s when inside double
quotes.  State your OS, webserver, browser so we have some idea of
your environment and also do as previously suggested:

use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser);

You could also try hex-dumping the file and the returned file and
see what's different.
_______________________________________________
Perl-Win32-Web mailing list
Perl-Win32-Web@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Thread:
Zahir Lalani
$Bill Luebkert
Zahir Lalani
John Mason Jr

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved