2011-04-13T13:24:02
GwenDragon
my $fh = $u->upload('file');
Wenn ich CGI verstehe, liefert die Methode
upload ein Filehandle auf die hochgeladene Datei, die Methode param nur den CGI-Parameter namens file.
Method $cgi->param liefert Beides, was je nach Kontext verwendet werden kann. Es gibt jedoch Unterschiede, was den scalaren Kontext betrifft, das ist abhängig davon, was der Browser liefert. Mir sind schon IEs untergekommen, die haben den kompletten lokalen Pfad geliefert inclusive DriveLetter ;)
Am scalaren Kontext also bischen feilen mit dem File-Modul, so dass alle Fälle erfasst sind. I.d.R. brauchts nur den Dateinamen ohne Pfade und den schicken normale Browser. In meinem CMS wird der Dateiname jedoch keine Rolle spielen, mein Kontext heißt REQUEST_URI und der steht im Formular-Attribut 'action=/foo/bar' als eine Eigenschaft des Response-Objekts.
--Rolf