#!/usr/bin/perl # YAGUARSER, a form parser, by Javier Viveros (javier@yagua.com) # Yagua's Parser. I work as programmer in www.yagua.com :) # # USAGE: # # In your program call the routine like this: # my %FORM = Yaguarser(); # # You can include this one directly into your code or use a require 'yaguarser.pl' sub Yaguarser { my (%RECIBIDO,@parejas,$clave,$valor,$buffer); if ($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'}); } else { $buffer=$ENV{'QUERY_STRING'} } $buffer =~ s/\+/\%20/g; $buffer =~ s/%(..)/pack("C",hex($1))/ge; @parejas=split(/&/,$buffer); for (@parejas) { ($clave,$valor)=split(/=/,$_); $RECIBIDO{$clave}=$valor; } return %RECIBIDO; }