Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re^4: UrlLib and urllib2 python to perl

by soonix (Monsignor)
on Aug 13, 2013 at 10:59 UTC ( #1049249=note: print w/replies, xml ) Need Help??

in reply to Re^3: UrlLib and urllib2 python to perl
in thread UrlLib and urllib2 python to perl

To help with the first question that our fellow Anonymonk named: it tries to match the regex (first parameter) in the string (second parameter). .group(0) returns the matched string.

Differences between Python and Perl:

  • Python's regexes are written as strings, so there are different escape rules. in a perl regex, no need to escape the quotes, the first regex could simply be written as
    /name="id" value="[A-Za-z0-9]*" size=/
  • to receive the complete matched string, in perl you would use $& or modify the regex with the /p flag and then use ${^MATCH}.

The python code then splits the found match to extract the part after value=. I would use a group instead, even in Python. I would write

for (qw(id param1 param2 sessId) { $response_data =~ /name="$_" value="([A-Za-z0-9]*)" size=/; $v[$_] = $1; }
Although afterwards the values aren't in variables $id, $param1, etc but in $v["id"] etc, however this might come in handy anyway, because most probably the things you will be doing to each of them will be similiar, and you can do them by employing similiar loops.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1049249]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (8)
As of 2018-05-21 19:16 GMT
Find Nodes?
    Voting Booth?