Samskipti meš GET ašferš
Žegar forriti eru send inntaksgildi meš GET ašferš (sem er ašferš) eru žau lesin sem einn url-kóšašur strengur śr umhverfisbreytunni QUERY STRING. Lengd slķks strengs takmarkast viš 256 stafi. Hér er lķtiš forrit sem tekur viš texta śr innslįttarsvęši og segir okkur hvaš var ķ url-strengnum:
Žegar sér-ķslenskir stafir (og fleiri tįkn) koma fyrir ķ textastrengnum eru žau url-kóšuš meš žvķ aš setja ķ staš žeirra žriggja stafa tįkn %XX žar sem XX er tveggja hexadecimal-tölustafa kóši. Til žess aš bregšast viš žessu er einfaldast aš snśa url-strengnum til baka ķ venjulega stafi strax og hann hefur veriš lesinn innķ breytuna $fyrirspurn. Hér er žannig forrit sem tekur viš texta śr žessu innslįttarsvęši (og rašar oršunum ķ enska stafrófsröš):
Ķ sķšara forritinu er žaš lķnan
$inntak =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
sem sér um af-urla strenginn. Ķ sjįlfu sér žurfa menn ekki aš pęla mikiš ķ žvķ sem hér er į seyši, en fyrir hina forvitnu skulu eftirfarandi skżringar gefnar:
- $t =~ s/a/b/ tįknar aš ķ strengnum $t skuli skipta į fyrsta a fyrir b. Sagt er aš strengurinn sé bundinn leitar-snišinu meš virkjanum =~ (į ensku binding operator).
- Snišiš %([a-fA-F0-9][a-fA-F0-9]) stendur fyrir žrjś tįkn: eitt prósentumerki og tvo hexadesimal stafi (śr menginu "0123456789ABDCEF"). Žessi hįttur į aš lżsa snišum er kallašur regular expressions.
- Rofinn e (aftan viš snišin) tįknar aš seinna snišišiš er segš (expression) en ekki staftįkn. Rofinn g (fyrir global) tįknar aš skipta eigi śt öllum tįknum ķ strengnum.
- Segšin pack("C",hex($1)) varpar staftįknunum ķ eitt tölugildi.