Description | A static content generator. |
Newcomen::Util - Utility functions.
use Newcomen::Util; if (Newcomen::Util::is_a ($page, 'Newcomen::Page')) { # do something... } my $checksum = Newcomen::Util::data_sha1 ($data);
This package provides miscellaneous utility functions. Note that all functions may be imported into the package using Newcomen::Util:
use Newcomen::Util qw( is_a data_sha1 );
No function is exported by default.
Toggle source: is_a
sub is_a { my $var = shift; my $cls = shift; defined $var && Scalar::Util::blessed $var && $var -> isa ($cls); }
if (Newcomen::Util::is_a ($page, 'Newcomen::Page')) { # do something... }
This function will return a true value if the variable supplied as first parameter is an instance of the class supplied by its full name as the second parameter, a false value otherwise.
Toggle source: data_sha1
sub data_sha1 { local $Data::Dumper::Indent = 0; local $Data::Dumper::Pair = '=>', local $Data::Dumper::Purity = 1; local $Data::Dumper::Sortkeys = 1; local $Data::Dumper::Terse = 1; return Digest::SHA::sha1_hex (Data::Dumper::Dumper (shift)); }
my $checksum = Newcomen::Util::data_sha1 ($data);
This function expects one parameter, usually a hashref or arrayref. It will serialize the data structure using Data::Dumper, and calculate the SHA-1 hash of the serialized data. The function will return the hexadecimal representation of the hash.
Note: Results will only be reliable if the data structure does not contain anything else than simple scalar values, especially any blessed objects should be avoided!
This is version 2014052501
.
Stefan Goebel - newcomen {at} subtype {dot} de
Copyright 2013-2014 Stefan Goebel.
This file is part of Newcomen.
Newcomen is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the license, or (at your option) any later version.
Newcomen is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Newcomen. If not, see <http://www.gnu.org/licenses/>.