Acme-Pythonic-Functions
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Acme/Pythonic/Functions.pm view on Meta::CPAN
pyprint;
pyprint "Hashes:";
%a = ("a" => 1, "b" => 2, "c" => 3);
if (has_key(%a, "c")) {
pyprint '%a has a key "c".';
}
if (isin(%a, "c", "h")) {
pyprint '%a has a key "c".';
}
pyprint;
pyprint "File-related:";
if (isdir("/home/user")) {
pyprint "Is directory.";
}
if (isfile("/home/user/myfile")) {
pyprint "Is file.";
}
@a = ("a\n", "b\n", "c\n");
if (isfile("test12345.txt")) {
pyprint 'File "test12345.txt" already exists. Nothing done.';
} else {
writefile("test12345.txt", @a);
@c = readfile("test12345.txt");
for $i (@c) {
$i = rstrip($i);
print $i . " " ;
}
pyprint;
}
pyprint oslistdir(".");
pyprint;
pyprint "System-related:";
pyprint osname();
In the "examples"-directory mentioned above, there's also a a Pythonic-Perl-version of this script called "perlpyex.pl" and a corresponding Python-script called "pyex.py" for comparison.
=head1 DESCRIPTION
The programming-language "Python" offers some basic string-, list- and other functions, that can be used quite intuatively. Perl often uses regular-expressions or special variables for these tasks. Although Perl's functions are in general more flexib...
=head2 print-Replacement-Function
=over 12
=item C<pyprint>
Python adds a (system-dependent) newline-character by default to strings to be printed.
This is rather convenient and can be found in the say()-function of Perl 5.10 and above too. I wasn't happy with the way, say() prints lists though. You can have that with something like 'say for @a;', but I like the way, Python prints lists better. ...
If you have to print more complex data-structures, use Data::Dumper.
=back
=head2 String-Functions
=over 12
=item C<endswith($foo, $bar)>
Tests whether $foo ends with $bar (return-value: 1 or 0).
=item C<isdigit($foo)>
Tests whether $foo contains just digits (return-value: 1 or 0).
=item C<isin($foo, $bar, "s")>
See below.
=item C<lstrip($foo)>
Returns $foo stripped from whitespace characters on the leftern side.
=item C<lstrip2($foo, $bar)>
Returns $foo stripped from $bar on the leftern side. Just returns $foo, if $foo doesn't start with $bar. Not part of Python, but quite useful.
=item C<replace($foo, $old, $new [, $count])>
Returns a copy of $foo with all occurrences of substring
$old replaced by $new. If the optional argument $count is
given, only the first $count occurrences are replaced.
=item C<rstrip($foo)>
Returns $foo stripped from whitespace characters on the right side.
=item C<rstrip2($foo, $bar)>
Returns $foo stripped from $bar on the right side. Just returns $foo, if $foo doesn't end with $bar. C<rstrip2()> is not a Python-builtin, although it is quite useful. The special case
C<$foo = rstrip2($foo, "\n");>
is similar to
C<chomp($foo);>
(although it makes me feel good, every time I C<chomp()> something).
=item C<startswith($foo, $bar)>
Tests whether $foo starts with $bar (return-value: 1 or 0).
=item C<strip($foo)>
Returns $foo stripped from whitespace characters on both sides.
=back
=head2 List-Functions
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.550 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )