[EMAIL PROTECTED]
I am working on learning Apache::ASP and came across some issues with
the "MyBookmarks" example as shown on
http://www.apache-asp.org/articles/perlmonth2_build.html:
1. I received the following warning in my Apache error log on every
hit:
[Thu Feb 12 00:25:22 2004] [error] [asp] [12691] [debug] $Response->Expi
res() deprecated. Please access member directly with $Response->{Expire
s} notation
The solution was to modify global.asa as follows:
<CVSENV>[EMAIL PROTECTED]:~/public_html/apache.asp$ cvs -q diff -r 1.1 glo
bal.asa
Index: global.asa
===================================================================
RCS file: /cvs/dpchrist/apache.asp/global.asa,v
retrieving revision 1.1
retrieving revision 1.2
diff -r1.1 -r1.2
42c42
< $Response->Expires(0);
---
> $Response->{Expires} = 0;
2. My table of links was showing up empty on the bookmarks.asp page.
The problem was that the column names in the @bookmarks array of
hashrefs were uppercase, but the table generation code was using
lower case keys.
Here is the CSV file:
<CVSENV>[EMAIL PROTECTED]:~# cat /tmp/asp_apps_bookmarks/bookmarks
BOOKMARK_ID,USERNAME,TITLE,URL
1,dpchristholgerdanskecom,"Holger Danske home page",www.holgerdanske.com
2,dpchristholgerdanskecom,Yahoo,www.yahoo.com
3,dpchristholgerdanskecom,Google,www.google.com
Note that the column names are upper case, even though the table
creation query in global.asa specifies lower case. I assume this is
a DBI and/or DBD::CSV issue.
My work-around was to modify bookmarks.asp as follows:
<CVSENV>[EMAIL PROTECTED]:~/public_html/apache.asp$ cvs -q diff -r 1.1 boo
kmarks.asp
Index: bookmarks.asp
===================================================================
RCS file: /cvs/dpchrist/apache.asp/bookmarks.asp,v
retrieving revision 1.1
diff -r1.1 bookmarks.asp
130,132c130,132
< my $text = $data->{bookmark_id} ?
< "<a href=$data->{'url'}
< >$data->{'title'}</a>"
---
> my $text = $data->{BOOKMARK_ID} ?
> "<a href=$data->{'URL'}
> >$data->{'TITLE'}</a>"
136c136
< <% if($data->{bookmark_id}) { %>
---
> <% if($data->{BOOKMARK_ID}) { %>
139c139
< "$Basename?delete=$data->{bookmark_id}"
---
> "$Basename?delete=$data->{BOOKMARK_ID}"
3. I don't know how to cleanly get the version numbers of installed
Perl modules:
<CVSENV>[EMAIL PROTECTED]:~# perl -e "use warnings; use DBD::CSV; print ${DBD:
:CSV::VERSION}"
Use of uninitialized value in print at -e line 1.
Here is my work-around:
<CVSENV>[EMAIL PROTECTED]:~# grep '^$VERSION ='
/usr/local/share/perl/5.6.1/Apache/ASP.pm
$VERSION = 2.57;
<CVSENV>[EMAIL PROTECTED]:~# grep 'VERSION =' /usr/lib/perl5/DBI.pm
$DBI::VERSION = 1.21; # ==> ALSO update the version in the pod text belo
w!
<CVSENV>[EMAIL PROTECTED]:~# grep 'VERSION =' /usr/local/share/perl/5.6.1/DBD/
CSV.pm
$VERSION = '0.2002';
Clarifications would be appreciated.
TIA,
David
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]