CGI.pm's html generation functions are famous for this kind of thing. On a side node, I vaguely recall that apache, or some versions of it, do seem to interpret %2F as a / before a ?, so /a%2Fb/ is interpreted as /a/b/.$$ perl -Mblib=CGI.pm-2.56 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.56/blib <FORM METHOD="POST" ENCTYPE="application/x-www-form-urlencoded"> 2.56 at -e line 1. $$ perl -Mblib=CGI.pm-2.81 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.81/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.81 at -e line 1. $$ perl -Mblib=CGI.pm-2.84 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.84/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.84 at -e line 1. $$ perl -Mblib=CGI.pm-2.85 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.85/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.85 at -e line 1. $$ perl -Mblib=CGI.pm-2.86 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.86/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.86 at -e line 1. $$ perl -Mblib=CGI.pm-2.90 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.90/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.90 at -e line 1. $$ perl -Mblib=CGI.pm-2.91 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.91/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.91 at -e line 1. $$ perl -Mblib=CGI.pm-2.92 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.92/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.92 at -e line 1. $$ perl -Mblib=CGI.pm-2.93 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.93/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.93 at -e line 1. $$ perl -Mblib=CGI.pm-2.94 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.94/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.94 at -e line 1. $$ perl -Mblib=CGI.pm-2.95 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" CGI.pm-2.95 is not a directory BEGIN failed--compilation aborted. $$ perl -Mblib=CGI.pm-2.97 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.97/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.97 at -e line 1. $$ perl -Mblib=CGI.pm-2.98 -MCGI -e"warn CGI->start_form();die CGI->ve +rsion" Using CGI.pm-2.98/blib <form method="post" action="/-e" enctype="application/x-www-form-urlen +coded"> 2.98 at -e line 1. $$ perl -MCGI -e"warn CGI->start_form();die CGI->version" <form method="post" action="%2F-e" enctype="application/x-www-form-url +encoded"> 2.99 at -e line 1.
I'm not sure what the RFCs say, so I suggest you find out what it's supposed to be, and then figure out if that's the wrong behaviour on behalf of CGI.pm.
| MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!" | |
| I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README). | |
| ** The third rule of perl club is a statement of fact: pod is sexy. |
In reply to Re: Path to scriptname in start_form()
by PodMaster
in thread Path to scriptname in start_form()
by weini
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |